| | |
| | | project (licensecc |
| | | VERSION 2.0.0 |
| | | DESCRIPTION "Copy protection and licensing library" |
| | | LANGUAGES C CXX) |
| | | LANGUAGES CXX) |
| | | |
| | | set(CMAKE_CXX_STANDARD 11) |
| | | set(CMAKE_CXX_STANDARD_REQUIRED ON) |
| | |
| | | if(UNIX) #this is true for all the linux systems but not for cross compiling "linux->windows" |
| | | IF(${STATIC_RUNTIME}) |
| | | set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static") |
| | | #SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") |
| | | ENDIF(${STATIC_RUNTIME}) |
| | | IF(NOT OPENSSL_FOUND) |
| | | MESSAGE(SEND_ERROR "Openssl required in Linux, please install it or specify -DOPENSSL_ROOT") |
| | |
| | | endif() |
| | | endif(THREADS_HAVE_PTHREAD_ARG) |
| | | |
| | | #Zlib required when openssl version < 1.0.1f (centos 7) |
| | | #Zlib required with old openssl version < 1.0.1f in centos 7 |
| | | IF(OPENSSL_VERSION VERSION_LESS_EQUAL 1.0.2) |
| | | SET ( ZLIB_USE_STATIC_LIBS ON ) |
| | | find_package(ZLIB REQUIRED) |
| | |
| | | string(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") |
| | | SET(Boost_USE_STATIC_RUNTIME ON) |
| | | endif(${STATIC_RUNTIME}) |
| | | |
| | | add_definitions("/D _CRT_SECURE_NO_WARNINGS") |
| | | list(APPEND EXTERNAL_LIBS "bcrypt" "crypt32" "ws2_32" "iphlpapi") |
| | | else(MSVC) |
| | | if(MINGW) |
| | | list(APPEND EXTERNAL_LIBS "-lcrypt32 -lbcrypt -lws2_32 -liphlpapi") |
| | | SET(CMAKE_EXE_LINKER_FLAGS "-static") |
| | | if(MINGW) |
| | | list(APPEND EXTERNAL_LIBS "-lbcrypt" "-lcrypt32" "-lws2_32" "-liphlpapi") |
| | | SET(CMAKE_EXE_LINKER_FLAGS "-static -static-libstdc++") |
| | | endif(MINGW) |
| | | endif(MSVC) |
| | | set(main_lib_dest "${PROJECT_NAME}") |
| | |
| | | message( STATUS "Install prefix : " ${CMAKE_INSTALL_PREFIX}) |
| | | message( STATUS "Project name : " ${LCC_PROJECT_NAME} ) |
| | | message( STATUS "Project base dir : " ${LCC_PROJECTS_BASE_DIR}/${LCC_PROJECT_NAME} ) |
| | | get_property(inc_dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES) |
| | | message( STATUS "Include dirs : " "${inc_dirs}" ) |
| | | |
| | | add_subdirectory(src) |
| | | |
| | |
| | | message(WARNING "Boost not found, disabling tests") |
| | | ENDIF(Boost_FOUND) |
| | | |
| | | ################################# |
| | | # Documentation |
| | | ################################# |
| | | find_package(Doxygen COMPONENTS dot) |
| | | IF(Doxygen_FOUND) |
| | | find_package(Sphinx) |
| | | |
| | | IF(Doxygen_FOUND AND Sphinx_FOUND) |
| | | message(STATUS "Doxygen found, generating docs.") |
| | | SET(DOXYGEN_EXCLUDE_PATTERNS "*/library/ini/*;*/doc/resources/*") |
| | | SET(DOXYGEN_DISABLE_INDEX YES) |
| | |
| | | SET(DOXYGEN_GENERATE_XML YES) |
| | | SET(DOXYGEN_LAYOUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/doc/DoxygenLayout.xml") |
| | | doxygen_add_docs(docs doc src include/licensecc COMMENT "doxygen docs") |
| | | file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/doc/resources/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/html") |
| | | ELSE(Doxygen_FOUND) |
| | | message(STATUS "Doxygen not found, not generating docs.") |
| | | ENDIF(Doxygen_FOUND) |
| | | #file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/doc/resources/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/html") |
| | | |
| | | #file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/doc/sphinx/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}") |
| | | set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/doc) |
| | | set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR}/docs/sphinx) |
| | | |
| | | add_custom_target(documentation |
| | | COMMAND |
| | | ${SPHINX_EXECUTABLE} -b html |
| | | ${SPHINX_SOURCE} ${SPHINX_BUILD} |
| | | -Dbreathe_projects.licensecc=${CMAKE_CURRENT_BINARY_DIR}/xml |
| | | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| | | COMMENT "Generating documentation with Sphinx") |
| | | add_dependencies(documentation docs) |
| | | |
| | | ELSE(Doxygen_FOUND AND Sphinx_FOUND) |
| | | message(STATUS "Doxygen or Sphynx not found, not generating docs.") |
| | | ENDIF(Doxygen_FOUND AND Sphinx_FOUND) |
| | | |
| | | |
| | | install(DIRECTORY ${LCC_INCLUDE_DIR} DESTINATION include/${PROJECT_NAME}) |
| | | install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include) |