CMakeLists.txt
@@ -52,7 +52,7 @@ ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) endif(WIN32) #TODO uncomment: source temporarily broken #set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:_DEBUG>) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:_DEBUG>) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:BOOST_TEST_DYN_LINK>) build/modules/add_boost.cmake
@@ -1,4 +1,10 @@ # Boost_INCLUDE_DIRS - Boost include directories # Boost_LIBRARY_DIRS - Link directories for Boost libraries # Boost_LIBRARIES - Boost component libraries to be linked #FIXME: for boost find compatibility C must be upper case # Boost_<C>_LIBRARY - Libraries to link for component <C> (c is lower-case,may include # target_link_libraries debug/optimized keywords) function(ms_underscores_to_camel_case VarIn VarOut) string(REPLACE "_" ";" Pieces ${VarIn}) @@ -13,8 +19,6 @@ set(BoostVersion 1.55.0) set(BoostSHA1 cef9a0cc7084b1d639e06cd3bc34e4251524c840) # Create build folder name derived from version string(REGEX REPLACE "beta\\.([0-9])$" "beta\\1" BoostFolderName ${BoostVersion}) @@ -225,9 +229,11 @@ include(ExternalProject) foreach(Component ${BoostComponents}) ms_underscores_to_camel_case(${Component} CamelCaseComponent) add_library(Boost${CamelCaseComponent} SHARED IMPORTED GLOBAL) if(${Boost_USE_STATIC_LIBS}) add_library(boost_${Component} STATIC IMPORTED GLOBAL) else(${Boost_USE_STATIC_LIBS}) add_library(boost_${Component} SHARED IMPORTED GLOBAL) endif(${Boost_USE_STATIC_LIBS}) if(${Component} STREQUAL "test") set(LibName "unit_test_framework") else() @@ -240,7 +246,7 @@ set(CompilerName vc120) endif() ExternalProject_Add( boost_${Component} Boost${CamelCaseComponent} PREFIX ${CMAKE_BINARY_DIR}/${BoostFolderName} SOURCE_DIR ${BoostSourceDir} BINARY_DIR ${BoostSourceDir} @@ -250,7 +256,7 @@ LOG_BUILD ON ) string(REGEX MATCH "[0-9]_[0-9][0-9]" Version "${BoostFolderName}") set_target_properties(Boost${CamelCaseComponent} PROPERTIES set_target_properties(boost_${Component} PROPERTIES IMPORTED_LOCATION_DEBUG ${BoostSourceDir}/stage/lib/libboost_${Component}-${CompilerName}-mt-gd-${Version}.lib IMPORTED_LOCATION_MINSIZEREL ${BoostSourceDir}/stage/lib/libboost_${Component}-${CompilerName}-mt-${Version}.lib IMPORTED_LOCATION_RELEASE ${BoostSourceDir}/stage/lib/libboost_${Component}-${CompilerName}-mt-${Version}.lib @@ -263,10 +269,10 @@ COMMAND ${b2Args} --with-${Component} WORKING_DIRECTORY ${BoostSourceDir} ) add_custom_target(boost_${Component} add_custom_target(Boost${CamelCaseComponent} DEPENDS ${OUTPUT_FILE} WORKING_DIRECTORY ${BoostSourceDir}) set_target_properties(Boost${CamelCaseComponent} PROPERTIES set_target_properties(boost_${Component} PROPERTIES IMPORTED_LOCATION ${OUTPUT_FILE} #LINK_SEARCH_START_STATIC OFF LINKER_LANGUAGE CXX @@ -274,15 +280,15 @@ endif(MSVC) set_target_properties(boost_${Component} Boost${CamelCaseComponent} PROPERTIES LABELS Boost FOLDER "Boost" EXCLUDE_FROM_ALL TRUE) add_dependencies(Boost${CamelCaseComponent} boost_${Component}) set(Boost${CamelCaseComponent}Libs Boost${CamelCaseComponent}) add_dependencies(boost_${Component} Boost${CamelCaseComponent}) set(Boost_${Component}_LIBRARY boost_${Component}) if("${Component}" STREQUAL "locale") if(APPLE) find_library(IconvLib iconv) if(NOT IconvLib) message(FATAL_ERROR "libiconv.dylib must be installed to a standard location.") endif() set(Boost${CamelCaseComponent}Libs Boost${CamelCaseComponent} ${IconvLib}) set(Boost_${Component}_LIBRARY boost_${Component} ${IconvLib}) elseif(UNIX) if(BSD) find_library(IconvLib libiconv.a) @@ -291,7 +297,7 @@ set(Msg " For ${Msg} on FreeBSD 10 or later, run\n pkg install libiconv") message(FATAL_ERROR "${Msg}") endif() set(Boost${CamelCaseComponent}Libs Boost${CamelCaseComponent} ${IconvLib}) set(Boost_${Component}_LIBRARY boost_${Component} ${IconvLib}) else() find_library(Icui18nLib libicui18n.a) find_library(IcuucLib libicuuc.a) @@ -301,28 +307,28 @@ set(Msg " For ${Msg} on Ubuntu/Debian, run\n sudo apt-get install libicu-dev") message(FATAL_ERROR "${Msg}") endif() set(Boost${CamelCaseComponent}Libs Boost${CamelCaseComponent} ${Icui18nLib} ${IcuucLib} ${IcudataLib}) set(Boost_${Component}_LIBRARY boost_${Component} ${Icui18nLib} ${IcuucLib} ${IcudataLib}) endif() else() set(Boost${CamelCaseComponent}Libs Boost${CamelCaseComponent}) set(Boost_${Component}_LIBRARY boost_${Component}) endif() endif() set(Boost${CamelCaseComponent}Libs ${Boost${CamelCaseComponent}Libs}) # PARENT_SCOPE list(APPEND AllBoostLibs Boost${CamelCaseComponent}) #set(Boost${CamelCaseComponent}Libs ${Boost${CamelCaseComponent}Libs}) # PARENT_SCOPE list(APPEND Boost_LIBRARIES Boost_${Component}_LIBRARY) endforeach() set(AllBoostLibs ${AllBoostLibs}) # PARENT_SCOPE add_dependencies(boost_chrono boost_system) add_dependencies(boost_coroutine boost_context boost_system) add_dependencies(boost_filesystem boost_system) add_dependencies(boost_graph boost_regex) add_dependencies(boost_locale boost_system) add_dependencies(boost_log boost_chrono boost_date_time boost_filesystem boost_thread) add_dependencies(boost_thread boost_chrono) add_dependencies(boost_timer boost_chrono) add_dependencies(boost_wave boost_chrono boost_date_time boost_filesystem boost_thread) #set(AllBoostLibs ${AllBoostLibs}) # PARENT_SCOPE add_dependencies(BoostChrono BoostSystem) add_dependencies(BoostCoroutine BoostContext BoostSystem) add_dependencies(BoostFilesystem BoostSystem) add_dependencies(BoostGraph BoostRegex) add_dependencies(BoostLocale BoostSystem) add_dependencies(BoostLog BoostChrono BoostDateTime BoostFilesystem BoostThread) add_dependencies(BoostThread BoostChrono) add_dependencies(BoostTimer BoostChrono) add_dependencies(BoostWave BoostChrono BoostDateTime BoostFilesystem BoostThread) set(Boost_INCLUDE_DIRS ${BoostSourceDir}) set(Boost_LIBRARY_DIRS ${BoostSourceDir}/stage) set(Boost_LIBRARY_DIRS ${BoostSourceDir}/stage/lib) build/modules/utilities.cmake
New file @@ -0,0 +1,8 @@ MACRO(EVAL_CONDITION name) IF(${ARGN}) SET(${name} 1) ELSE(${ARGN}) SET(${name} 0) ENDIF(${ARGN}) ENDMACRO(EVAL_CONDITION) src/CMakeLists.txt
@@ -1,8 +1,6 @@ add_subdirectory("bootstrap") add_subdirectory("library") IF(Boost_FOUND) add_subdirectory("pc-identifier") add_subdirectory("license-generator") ENDIF(Boost_FOUND) src/license-generator/CMakeLists.txt
@@ -1,23 +1,27 @@ if(WIN32) ADD_LIBRARY(license_generator_lib STATIC ADD_LIBRARY( license_generator_lib STATIC license-generator.cpp win/LicenseSigner.cpp ) else() ADD_LIBRARY(license_generator_lib STATIC else(WIN32) ADD_LIBRARY( license_generator_lib STATIC license-generator.cpp linux/LicenseSigner.cpp ) endif() endif(WIN32) link_directories ( ${Boost_LIBRARY_DIRS} ) add_dependencies( license_generator_lib boost_filesystem private_key ) #link_directories ( ${Boost_LIBRARY_DIRS} ) #add_dependencies( license_generator_lib boost_filesystem private_key ) target_link_libraries( license_generator_lib license++_static ${Boost_LIBRARIES} ${Boost_filesystem_LIBRARY} ${Boost_program_options_LIBRARY} ${Boost_system_LIBRARY} ${EXTERNAL_LIBS} ) @@ -31,5 +35,5 @@ license_generator_lib ) SET_TARGET_PROPERTIES(license_generator PROPERTIES LINK_SEARCH_START_STATIC ON) #SET_TARGET_PROPERTIES(license_generator PROPERTIES LINK_SEARCH_START_STATIC ON) #SET_TARGET_PROPERTIES(license_generator PROPERTIES LINK_SEARCH_END_STATIC ON) src/license-generator/linux/LicenseSigner.cpp
@@ -5,8 +5,8 @@ * Author: devel */ #include "LicenseSigner.h" #include "private-key.h" #include "../LicenseSigner.h" #include "../private-key.h" #include <stdexcept> #include <string.h> #include <openssl/evp.h> test/functional/CMakeLists.txt
@@ -1,6 +1,7 @@ ADD_LIBRARY(license_generator_snippet STATIC generate-license.cpp ) target_link_libraries( license_generator_snippet license_generator_lib @@ -15,9 +16,11 @@ standard_license_test license++_static license_generator_snippet ${Boost_filesystem_LIBRARY} ${Boost_test_LIBRARY} ) SET_TARGET_PROPERTIES(standard_license_test PROPERTIES LINK_SEARCH_START_STATIC ON) add_dependencies( standard_license_test boost_test boost_filesystem ) #SET_TARGET_PROPERTIES(standard_license_test PROPERTIES LINK_SEARCH_START_STATIC ON) #add_dependencies( standard_license_test boost_test boost_filesystem ) add_executable( date_test @@ -28,9 +31,11 @@ date_test license++_static license_generator_snippet ${Boost_filesystem_LIBRARY} ${Boost_test_LIBRARY} ) SET_TARGET_PROPERTIES(date_test PROPERTIES LINK_SEARCH_START_STATIC ON) add_dependencies( date_test boost_test boost_filesystem ) #SET_TARGET_PROPERTIES(date_test PROPERTIES LINK_SEARCH_START_STATIC ON) #add_dependencies( date_test boost_test boost_filesystem ) add_executable( volid_test @@ -41,10 +46,11 @@ volid_test license++_static license_generator_snippet ${Boost_test_LIBRARY} ) SET_TARGET_PROPERTIES(volid_test PROPERTIES LINK_SEARCH_START_STATIC ON) add_dependencies( volid_test boost_test boost_filesystem ) #SET_TARGET_PROPERTIES(volid_test PROPERTIES LINK_SEARCH_START_STATIC ON) #add_dependencies( volid_test boost_test boost_filesystem ) ADD_TEST(standard_license_test ${EXECUTABLE_OUTPUT_PATH}/standard_license_test) ADD_TEST(date_test ${EXECUTABLE_OUTPUT_PATH}/date_test) test/functional/date_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE standard_license_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include "../../../src/license-generator/license-generator.h" #include "../../../src/library/api/license++.h" test/functional/hijiaking_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE standard_license_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include "../../../src/license-generator/license-generator.h" #include "../../../src/library/api/license++.h" test/functional/standard-license_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE standard_license_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include "../../../src/license-generator/license-generator.h" #include "../../../src/library/api/license++.h" test/functional/volid_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE standard_license_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include <fstream> #include <cstring> test/library/CMakeLists.txt
@@ -2,19 +2,22 @@ license_reader_test LicenseReader_test.cpp ) #add_dependencies( license_reader_test boost_filesystem ) target_link_libraries( license_reader_test license++_static boost_filesystem boost_test ) add_dependencies( license_reader_test boost_test boost_filesystem ) SET_TARGET_PROPERTIES(license_reader_test PROPERTIES LINK_SEARCH_START_STATIC ON) #SET_TARGET_PROPERTIES(license_reader_test PROPERTIES LINK_SEARCH_START_STATIC ON) #SET_TARGET_PROPERTIES(license_reader_test PROPERTIES LINK_SEARCH_END_STATIC OFF) ADD_TEST(license_reader_test ${EXECUTABLE_OUTPUT_PATH}/license_reader_test) #IF(WIN32) IF(WIN32) #test windows #ELSE(WIN32) ELSE(WIN32) add_executable( os_linux_test Os_Linux_test.cpp @@ -23,10 +26,11 @@ target_link_libraries( os_linux_test os ${Boost_test_LIBRARY} ) add_dependencies( os_linux_test boost_test ) SET_TARGET_PROPERTIES(os_linux_test PROPERTIES LINK_SEARCH_START_STATIC ON) #add_dependencies( os_linux_test ) #SET_TARGET_PROPERTIES(os_linux_test PROPERTIES LINK_SEARCH_START_STATIC ON) ADD_TEST(os_linux_test ${EXECUTABLE_OUTPUT_PATH}/os_linux_test) #ENDIF(WIN32) ENDIF(WIN32) test/library/LicenseReader_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE license_reader_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include "../../src/library/LicenseReader.h" #include <build_properties.h> test/library/Os_Linux_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE os_linux_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include "../../src/library/os/os.h" #include <build_properties.h> test/license-generator/CMakeLists.txt
@@ -7,8 +7,9 @@ target_link_libraries( license_generator_test license_generator_lib ${Boost_test_LIBRARY} ) add_dependencies( license_generator_test boost_test boost_filesystem ) SET_TARGET_PROPERTIES(license_generator_test PROPERTIES LINK_SEARCH_START_STATIC ON) #add_dependencies( license_generator_test boost_test boost_filesystem ) #SET_TARGET_PROPERTIES(license_generator_test PROPERTIES LINK_SEARCH_START_STATIC ON) ADD_TEST(license_generator_test ${EXECUTABLE_OUTPUT_PATH}/license_generator_test) test/license-generator/license-generator_test.cpp
@@ -1,6 +1,6 @@ #define BOOST_TEST_MODULE license_generator_test //#define BOOST_TEST_MAIN #define BOOST_TEST_DYN_LINK //#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> #include "../../../src/license-generator/license-generator.h" #include <build_properties.h>