1
- # include 另外一个cmake 配置
2
- #INCLUDE(file1 [OPTIONAL])
3
-
4
1
cmake_minimum_required (VERSION 3.10)
5
2
set (CMAKE_CXX_STANDARD 20)
6
- #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
7
3
8
4
project (minidb)
9
5
10
- MESSAGE (STATUS "This is SOURCE dir " ${test_SOURCE_DIR} )
11
- MESSAGE (STATUS "This is BINARY dir " ${test_BINARY_DIR} )
12
6
MESSAGE (STATUS "This is Project source dir " ${PROJECT_SOURCE_DIR} )
13
7
MESSAGE (STATUS "This is PROJECT_BINARY_DIR dir " ${PROJECT_BINARY_DIR} )
14
8
15
9
SET (EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR} /bin)
16
- #SET(LIBRARY_OUTPUT_PATH <路径>)
17
10
18
- OPTION (ENABLE_ASAN "Enable build with address sanitizer" OFF )
11
+ SET (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR} /cmake)
12
+
13
+ OPTION (ENABLE_ASAN "Enable build with address sanitizer" ON )
19
14
OPTION (WITH_UNIT_TESTS "Compile miniob with unit tests" ON )
20
15
OPTION (CONCURRENCY "Support concurrency operations" OFF )
21
16
@@ -77,6 +72,21 @@ ELSE()
77
72
ENDIF ()
78
73
MESSAGE ("Install target dir is " ${CMAKE_INSTALL_PREFIX} )
79
74
75
+ IF (DEFINED ENV{LD_LIBRARY_PATH})
76
+ SET (LD_LIBRARY_PATH_STR $ENV{LD_LIBRARY_PATH} )
77
+ string (REPLACE ":" ";" LD_LIBRARY_PATH_LIST ${LD_LIBRARY_PATH_STR} )
78
+ MESSAGE (" Add LD_LIBRARY_PATH to -L flags " ${LD_LIBRARY_PATH_LIST} )
79
+ LINK_DIRECTORIES (${LD_LIBRARY_PATH_LIST} )
80
+ ENDIF ()
81
+
82
+ IF (EXISTS /usr/local/lib)
83
+ LINK_DIRECTORIES (/usr/local/lib)
84
+ ENDIF ()
85
+ IF (EXISTS /usr/local/lib64)
86
+ LINK_DIRECTORIES (/usr/local/lib64)
87
+ ENDIF ()
88
+
89
+ INCLUDE_DIRECTORIES (. ${PROJECT_SOURCE_DIR} /deps /usr/local/include )
80
90
81
91
# ADD_SUBDIRECTORY(src bin) bin 为目标目录, 可以省略
82
92
ADD_SUBDIRECTORY (deps)
@@ -91,16 +101,6 @@ IF(WITH_UNIT_TESTS)
91
101
ADD_SUBDIRECTORY (unittest)
92
102
ENDIF ()
93
103
94
- # install 准备安装的目录是cmakefile 的当前目录, 不是build 后生成的目录
95
- # Files 默认权限OWNER_WRITE, OWNER_READ, GROUP_READ,和WORLD_READ,即644权限
96
- # INSTALL(FILES docs/README DESTINATION ./ )
97
- # INSTALL(DIRECTORY docs DESTINATION ./
98
- # PATTERN "README" EXCLUDE)
99
- # PERMISSIONS 可以直接替换
100
- #INSTALL(DIRECTORY bin DESTINATION ./
101
- # FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ
102
- # DIRECTORY_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE)
103
-
104
104
INSTALL (DIRECTORY etc DESTINATION .
105
105
FILE_PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
106
106
@@ -113,11 +113,6 @@ INSTALL(CODE "MESSAGE(\"Sample install message.\")")
113
113
# [ARGS <arguments to executable>]
114
114
# [OUTPUT_VARIABLE <var>]
115
115
116
-
117
-
118
-
119
- # ADD_TEST与ENABLE_TESTING 参考书籍
120
-
121
116
#EXEC_PROGRAM(Executable [directory in which to run]
122
117
# [ARGS <arguments to executable>]
123
118
# [OUTPUT_VARIABLE <var>]
0 commit comments