From ba57d3b5923b0751d47065f0e59459b8bea51546 Mon Sep 17 00:00:00 2001 From: Fabian Wolff Date: Thu, 17 Mar 2016 12:44:03 +0100 Subject: [PATCH] Add option to disable static targets --- sq/CMakeLists.txt | 17 +++++++++++------ sqstdlib/CMakeLists.txt | 11 ++++++++--- squirrel/CMakeLists.txt | 11 ++++++++--- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/sq/CMakeLists.txt b/sq/CMakeLists.txt index f7a4350..3d05006 100644 --- a/sq/CMakeLists.txt +++ b/sq/CMakeLists.txt @@ -3,16 +3,21 @@ set_target_properties(sq PROPERTIES LINKER_LANGUAGE C) target_link_libraries(sq squirrel sqstdlib) install(TARGETS sq RUNTIME DESTINATION ${INSTALL_BIN_DIR}) -add_executable(sq_static sq.c) -set_target_properties(sq_static PROPERTIES LINKER_LANGUAGE C) -target_link_libraries(sq_static squirrel_static sqstdlib_static) -install(TARGETS sq_static RUNTIME DESTINATION ${INSTALL_BIN_DIR}) +if(NOT DEFINED DISABLE_STATIC) + add_executable(sq_static sq.c) + set_target_properties(sq_static PROPERTIES LINKER_LANGUAGE C) + target_link_libraries(sq_static squirrel_static sqstdlib_static) + install(TARGETS sq_static RUNTIME DESTINATION ${INSTALL_BIN_DIR}) +endif() if(DEFINED LONG_OUTPUT_NAMES) set_target_properties(sq PROPERTIES OUTPUT_NAME squirrel3) - set_target_properties(sq_static PROPERTIES OUTPUT_NAME squirrel3_static) + + if(NOT DEFINED DISABLE_STATIC) + set_target_properties(sq_static PROPERTIES OUTPUT_NAME squirrel3_static) + endif() endif() -if(CMAKE_COMPILER_IS_GNUCXX) +if(CMAKE_COMPILER_IS_GNUCXX AND (NOT DEFINED DISABLE_STATIC)) set_target_properties(sq_static PROPERTIES COMPILE_FLAGS "-static -Wl,-static") endif() diff --git a/sqstdlib/CMakeLists.txt b/sqstdlib/CMakeLists.txt index 0964e8f..493b0a5 100644 --- a/sqstdlib/CMakeLists.txt +++ b/sqstdlib/CMakeLists.txt @@ -13,10 +13,15 @@ install(TARGETS sqstdlib RUNTIME DESTINATION ${INSTALL_BIN_DIR} LIBRARY DESTINATION ${INSTALL_LIB_DIR} ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) -add_library(sqstdlib_static STATIC ${SQSTDLIB_SRC}) -install(TARGETS sqstdlib_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) +if(NOT DEFINED DISABLE_STATIC) + add_library(sqstdlib_static STATIC ${SQSTDLIB_SRC}) + install(TARGETS sqstdlib_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) +endif() if(DEFINED LONG_OUTPUT_NAMES) set_target_properties(sqstdlib PROPERTIES OUTPUT_NAME sqstdlib3) - set_target_properties(sqstdlib_static PROPERTIES OUTPUT_NAME sqstdlib3_static) + + if(NOT DEFINED DISABLE_STATIC) + set_target_properties(sqstdlib_static PROPERTIES OUTPUT_NAME sqstdlib3_static) + endif() endif() diff --git a/squirrel/CMakeLists.txt b/squirrel/CMakeLists.txt index 649e1cc..6efef84 100644 --- a/squirrel/CMakeLists.txt +++ b/squirrel/CMakeLists.txt @@ -16,10 +16,15 @@ install(TARGETS squirrel RUNTIME DESTINATION ${INSTALL_BIN_DIR} LIBRARY DESTINATION ${INSTALL_LIB_DIR} ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) -add_library(squirrel_static STATIC ${SQUIRREL_SRC}) -install(TARGETS squirrel_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) +if(NOT DEFINED DISABLE_STATIC) + add_library(squirrel_static STATIC ${SQUIRREL_SRC}) + install(TARGETS squirrel_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR}) +endif() if(DEFINED LONG_OUTPUT_NAMES) set_target_properties(squirrel PROPERTIES OUTPUT_NAME squirrel3) - set_target_properties(squirrel_static PROPERTIES OUTPUT_NAME squirrel3_static) + + if(NOT DEFINED DISABLE_STATIC) + set_target_properties(squirrel_static PROPERTIES OUTPUT_NAME squirrel3_static) + endif() endif()