-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
67 lines (54 loc) · 1.41 KB
/
CMakeLists.txt
File metadata and controls
67 lines (54 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
CMAKE_MINIMUM_REQUIRED (VERSION 3.4)
LIST( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" )
INCLUDE( msvc_support )
INCLUDE(GenerateExportHeader)
OPTION(STATIC "Check to build static library" ON)
## Exe setting
RUNTIME_LIBRARY_OPTION(Release /MT)
RUNTIME_LIBRARY_OPTION(Debug /MTd)
SET(PROJECT_NAME "libMighty")
SET(SOURCE_DIR "src")
SET(HEADER_DIR "include")
SET(PCH_DIR "pch")
SET(PCH_HEADER ${PCH_DIR}/stdafx.h)
SET(PCH_CPP ${PCH_DIR}/stdafx.cpp)
PROJECT (${PROJECT_NAME})
IF(${CMAKE_EXE_LINKER_FLAGS} MATCHES "/machine:x64")
SET (ARCH "64")
ELSE()
SET (ARCH "86")
ENDIF()
FILE(GLOB HEADER_FILES ${HEADER_DIR}/*.h)
FILE(GLOB SOURCE_FILES ${SOURCE_DIR}/*.cpp)
SET(HEADER_FILES ${HEADER_FILES} ${PCH_HEADER})
SET(SOURCE_FILES ${SOURCE_FILES} ${PCH_CPP})
if(STATIC)
ADD_LIBRARY (
${PROJECT_NAME}
${SOURCE_FILES}
${HEADER_FILES}
)
ELSE()
ADD_LIBRARY (
${PROJECT_NAME}
SHARED
${SOURCE_FILES}
${HEADER_FILES}
)
GENERATE_EXPORT_HEADER(${PROJECT_NAME})
ADD_DEFINITIONS(-DlibMighty_USE_DLL)
ENDIF()
SET_PROPERTY(TARGET ${PROJECT_NAME} APPEND PROPERTY LINK_FLAGS "/SUBSYSTEM:WINDOWS")
# Unicode
ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
# Set include directories
INCLUDE_DIRECTORIES(${HEADER_DIR})
INCLUDE_DIRECTORIES(${PCH_DIR})
# Precompiled header
MSVC_SET_PCH(${PROJECT_NAME}
${PCH_HEADER}
${PCH_CPP}
)
RUNTIME_LIBRARY_OPTION("Debug" "/MDd")
RUNTIME_LIBRARY_OPTION("Release" "/MD")