Updated cmake

This commit is contained in:
2018-09-03 09:55:35 +00:00
parent f421d30f30
commit f24478a514
4 changed files with 24 additions and 93 deletions

View File

@ -15,35 +15,41 @@
cmake_minimum_required(VERSION 2.6)
project(moFileReader)
# Set Output Directories.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ../bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ../lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ../lib)
# The main include directory
include_directories(BEFORE ../include)
include_directories(BEFORE ${CMAKE_SOURCE_DIR}/include)
# executable build directory
add_subdirectory(bin)
# Let the user choose between static lib and dll
# To use it, call cmake -DCOMPILE_DLL=ON
option(COMPILE_DLL "Set this to ON if you want to compile the library as an DLL. When this is OFF, a static library is created (default)." OFF)
# Dependency
link_directories(../lib)
if ( NOT COMPILE_DLL )
# Static build
add_library(moFileReader.static STATIC ../src/moFileReader.cpp ../src/mo.cpp)
add_library(moFileReader.static STATIC ${CMAKE_SOURCE_DIR}/src/moFileReader.cpp ${CMAKE_SOURCE_DIR}/src/mo.cpp)
else ( COMPILE_DLL )
# DLL
add_definitions(-D_USRDLL -DMOFILE_EXPORTS)
add_library(moFileReader SHARED ../src/moFileReader.cpp ../src/mo.cpp)
add_library(moFileReader SHARED ${CMAKE_SOURCE_DIR}/src/moFileReader.cpp ${CMAKE_SOURCE_DIR}/src/mo.cpp)
endif ()
add_executable(moReader ${CMAKE_SOURCE_DIR}/src/mo.cpp)
if ( NOT COMPILE_DLL )
add_definitions(-D_CONSOLE)
add_dependencies(moReader moFileReader.static)
target_link_libraries(moReader moFileReader.static)
else ( COMPILE_DLL )
add_definitions(-D_CONSOLE -DMOFILE_IMPORT)
add_dependencies(moReader moFileReader)
target_link_libraries(moReader moFileReader)
endif ()
@ -52,3 +58,5 @@ endif ()