Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=dcfba3689e6f1689929e4bda776fd8d602e34998

commit dcfba3689e6f1689929e4bda776fd8d602e34998
Author: Michel Hermier <[email protected]>
Date:   Sat Dec 7 09:57:54 2013 +0100

cmake: Rework static build a little with an ENABLE_STATIC option. (libpacman 
fails to build complaing about -lgcc_s).

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8fd3c1..53f8092 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,9 +18,21 @@ string (REPLACE ";" "" PM_VERSION ${PM_VERSION_TEMP})
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -std=c99 -Wall -D_GNU_SOURCE")

option(DISABLE_BINDINGS "disables all libpacman bindings" OFF)
+set(ENABLE_NLS TRUE CACHE BOOL "Translation program messages to the user's 
native language ?")
+option(ENABLE_STATIC "make a static build" OFF)
option(FAKEROOT_PROOF "enable fakeroot proof protection" OFF)

-SET(ENABLE_NLS TRUE CACHE BOOL "Translation program messages to the user's 
native language ?")
+if(ENABLE_STATIC)
+  set(CMAKE_PROJECT_NAME_LOWER ${CMAKE_PROJECT_NAME_LOWER}.static)
+
+  set(BUILD_SHARED_LIBS OFF)
+  set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -pthread")
+#  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
+#  set(CMAKE_EXE_LINK_DYNAMIC_C_FLAGS)       # remove -Wl,-Bdynamic)
+#  set(CMAKE_SHARED_LIBRARY_C_FLAGS)         # remove -fPIC
+#  set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS)    # remove -rdynamic
+endif(ENABLE_STATIC)

FIND_PACKAGE(Doxygen)
IF(DOXYGEN_FOUND)
diff --git a/lib/libpacman/CMakeLists.txt b/lib/libpacman/CMakeLists.txt
index 998f756..dee28b2 100644
--- a/lib/libpacman/CMakeLists.txt
+++ b/lib/libpacman/CMakeLists.txt
@@ -67,6 +67,10 @@ add_library(pacman SHARED ${LIBPACMAN_SOURCES})
set_target_properties(pacman PROPERTIES SOVERSION 0.${PACMAN_G2_LIB_VERSION})
target_link_libraries(pacman ${LibArchive_LIBRARIES} ${CURL_LIBRARIES})

+if(ENABLE_STATIC)
+  set_target_properties(pacman PROPERTIES LINK_SEARCH_START_STATIC ON)
+  set_target_properties(pacman PROPERTIES LINK_SEARCH_END_STATIC ON)
+endif(ENABLE_STATIC)

#static build
if(PACCURL_FOUND AND (NOT DISABLE_STATIC_BUILD))
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to