project(cd_utils) cmake_minimum_required(VERSION 2.6) if (POLICY CMP0017) cmake_policy(SET CMP0017 NEW) endif() if (NOT LIBPROJECT) find_package(PIP REQUIRED) option(LIB "System install" 1) option(DEBUG "Build with -g3" 0) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") if (DEBUG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") endif() endif() if (MINGW) find_package(MinGW REQUIRED) endif() include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES}) #file(GLOB HDRS_UTILS "*.h") #file(GLOB CPPS_UTILS "*.cpp") file(GLOB CPPS_UTILS "cdutils_*.cpp") file(GLOB HDRS_UTILS "cdutils_*.h") if (DEFINED ENV{QNX_HOST}) add_library(${PROJECT_NAME} STATIC ${CPPS_UTILS} ${HDRS_UTILS}) else() add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${HDRS_UTILS}) endif() target_link_libraries(${PROJECT_NAME} ${PIP_LIBRARY}) add_executable(cdutilstest "cdutilstest.cpp" "cdtest.h") target_link_libraries(cdutilstest ${PIP_LIBRARY} ${PROJECT_NAME}) message(STATUS "Building ${PROJECT_NAME}") if(NOT LIBPROJECT) if(LIB) if(WIN32) if(MINGW) set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) endif() else() if(APPLE) set(CMAKE_INSTALL_PREFIX ${INSTALL_PREFIX}/usr/local) else() if (DEFINED ANDROID_PLATFORM) set(CMAKE_INSTALL_PREFIX ${ANDROID_SYSTEM_LIBRARY_PATH}/usr) else() if(CMAKE_CROSSCOMPILING) set(CMAKE_INSTALL_PREFIX ${CMAKE_STAGING_PREFIX}) else() set(CMAKE_INSTALL_PREFIX ${INSTALL_PREFIX}/usr) endif() endif() endif() endif() message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") else() message(STATUS "Install ${PROJECT_NAME} to local \"bin\"") endif() endif() if(LIB) if(WIN32) install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}) install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) else() install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) endif() #message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") else() install(TARGETS ${PROJECT_NAME} DESTINATION bin) #message(STATUS "Install ${PROJECT_NAME} to local \"bin\"") endif()