You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.6 KiB

6 months ago
PROJECT(AutoMosaic)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
SET(CMAKE_COLOR_MAKEFILE ON)
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
# Allow advanced users to generate Makefiles printing detailed commands
MARK_AS_ADVANCED(CMAKE_VERBOSE_MAKEFILE)
# Path to additional CMake modules
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules ${CMAKE_MODULE_PATH})
SET(CMAKE_DEBUG_POSTFIX "d")
#large address aware option setting
IF(${MINGW})
SET(LARGEADDRESSAWARE "--large-address-aware")
ELSE(${MINGW})
IF (WIN32)
SET(LARGEADDRESSAWARE "/LARGEADDRESSAWARE")
ELSE (WIN32)
SET(LARGEADDRESSAWARE " ")
ENDIF (WIN32)
ENDIF (${MINGW})
IF (WIN32)
SET(APP_OPT "WIN32")
ELSE (WIN32)
IF (APPLE)
#SET(APP_OPT "MACOSX_BUNDLE")
SET(APP_OPT "EXCLUDE_FROM_ALL")
ELSE (APPLE)
SET(APP_OPT " ")
ENDIF (APPLE)
ENDIF (WIN32)
# OpenMP
FIND_PACKAGE(OpenMP)
IF(OPENMP_FOUND)
OPTION(WITH_OPENMP "Whether to use parallel processing capabilities of OPENMP. ON/OFF" ON)
ENDIF(OPENMP_FOUND)
IF(OPENMP_FOUND AND WITH_OPENMP)
MESSAGE(STATUS "With OpenMP ")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMAX_OPENMP_NUM_THREADS=${PROCESSOR_COUNT} -DOPENMP_NUM_THREADS=${PROCESSOR_COUNT} ${OpenMP_CXX_FLAGS} -DOPENMP")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMAX_OPENMP_NUM_THREADS=${PROCESSOR_COUNT} -DOPENMP_NUM_THREADS=${PROCESSOR_COUNT} ${OpenMP_CXX_FLAGS} ${OpenMP_C_FLAGS} -DOPENMP")
ELSE(OPENMP_FOUND AND WITH_OPENMP)
MESSAGE(STATUS "Without OpenMP")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMAX_OPENMP_NUM_THREADS=1 -DOPENMP_NUM_THREADS=1")
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMAX_OPENMP_NUM_THREADS=1 -DOPENMP_NUM_THREADS=1")
ENDIF(OPENMP_FOUND AND WITH_OPENMP)
# OpenCV
FIND_PACKAGE(OpenCV REQUIRED)
# Boost
#SET(Boost_USE_STATIC_LIBS OFF)
#SET(Boost_USE_MULTITHREAD ON)
#FIND_PACKAGE(Boost REQUIRED COMPONENTS filesystem thread)
#MESSAGE(STATUS "Boost_LIBS: ${Boost_LIBRARIES}")
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/Src)
# include header files of libs
INCLUDE_DIRECTORIES(${OPENCV_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/GeneralLibs/LM2.5/include)
#INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
# link libs
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/bin)
LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/GeneralLibs/LM2.5/x64libs)
# Setup output directories
SET(LIBRARY_OUTPUT_PATH
${PROJECT_BINARY_DIR}/bin
CACHE
PATH
"Single directory for all libraries")
SET(EXECUTABLE_OUTPUT_PATH
${PROJECT_BINARY_DIR}/bin
CACHE
PATH
"Single directory for all executables")
ADD_SUBDIRECTORY(Src)
#ADD_SUBDIRECTORY(GeneralLibs)