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
