Browse Source

style: CMakeLists.txt使用小写

SongZihuan 3 years ago
parent
commit
76da3f5fe1

+ 27 - 33
CMakeLists.txt

@@ -1,53 +1,47 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
-SET(CMAKE_C_STANDARD 11)
-PROJECT(aFun LANGUAGES C)
+cmake_minimum_required(VERSION 3.16)
+set(CMAKE_C_STANDARD 11)
+project(aFun LANGUAGES C)
 
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
-SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)  # 设置输出路径
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH})
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH})
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
+set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/lib)  # 设置输出路径
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH})
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH})
 
-SET(BUILD_SHARED_LIBS TRUE)  # 默认编译动态库
+set(BUILD_SHARED_LIBS TRUE)  # 默认编译动态库
 
 IF(Build_Memory)
-    ADD_DEFINITIONS(-DBUILD_MEM=1)
+    add_definitions(-DBUILD_MEM=1)
 ENDIF()
 
 IF(MSVC)
-    SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
-    SET(CMAKE_GNUtoMS TRUE)
-    MESSAGE("Build with MSVC")
+    set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
+    message(STATUS "Build with MSVC")
 ELSE()
-    ADD_COMPILE_OPTIONS(-fPIC)  # 启用fPIC参数
-    MESSAGE("Not build with MSVC")
+    add_compile_options(-fPIC)  # 启用fPIC参数
+    message(STATUS "Not build with MSVC")
 ENDIF()
 
-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")  # 设置安装路径
+set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")  # 设置安装路径
 IF (build_with_rpath)
-    SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
-    MESSAGE("SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) success!")
+    set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+    message(STATUS "SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) success!")
 ENDIF ()
 
-MESSAGE("CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
-MESSAGE("CMAKE_C_COMPILER:   ${CMAKE_C_COMPILER}")
+message(STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
+message(STATUS "CMAKE_C_COMPILER:   ${CMAKE_C_COMPILER}")
 
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)  # 添加include路径
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/cJson)
+include_directories(${CMAKE_SOURCE_DIR}/include)  # 添加include路径
 
-if (MSVC)
-    INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/dlfcn)
-endif ()
+add_definitions(-DCC="${CMAKE_C_COMPILER}")
+add_definitions(-DCXXC="${CMAKE_CXX_COMPILER}")
+add_definitions(-DSRC_PATH="${CMAKE_SOURCE_DIR}")
 
-ADD_DEFINITIONS(-DCC="${CMAKE_C_COMPILER}")
-ADD_DEFINITIONS(-DCXXC="${CMAKE_CXX_COMPILER}")
-ADD_DEFINITIONS(-DSRC_PATH="${CMAKE_SOURCE_DIR}")
-
-ADD_SUBDIRECTORY(src)
+add_subdirectory(src)
 
 IF(ENABLE_aFunTEST)
-    ENABLE_TESTING()
-    ADD_SUBDIRECTORY(test)
-    MESSAGE("Enable Test Success!")
+    enable_testing()
+    add_subdirectory(test)
+    message(STATUS "Enable Test Success!")
 ENDIF()
 
-INSTALL(TARGETS aFun)
+install(TARGETS aFun)

+ 8 - 8
src/CMakeLists.txt

@@ -1,15 +1,15 @@
 IF (MSVC)
     # 编译dlfcn-win32
-    ADD_SUBDIRECTORY(deps/dlfcn)
+    add_subdirectory(deps/dlfcn)
 ENDIF()
 
-ADD_SUBDIRECTORY(tool)
-ADD_SUBDIRECTORY(deps/cjson)
-ADD_SUBDIRECTORY(deps/regex)
+add_subdirectory(tool)
+add_subdirectory(deps/cjson)
+add_subdirectory(deps/regex)
 
-SET(libary af_tool af_json  af_regex)
+set(libary af_tool af_json  af_regex)
 
-ADD_SUBDIRECTORY(core)
+add_subdirectory(core)
 
-ADD_EXECUTABLE(aFun main.c)
-TARGET_LINK_LIBRARIES(aFun ${libary} af_core)
+add_executable(aFun main.c)
+target_link_libraries(aFun ${libary} af_core)

+ 6 - 6
src/core/CMakeLists.txt

@@ -1,9 +1,9 @@
-PROJECT(af_core LANGUAGES C)
+project(af_core LANGUAGES C)
 
-AUX_SOURCE_DIRECTORY(${af_core_SOURCE_DIR} src)  # 寻找源文件
-ADD_LIBRARY(af_core ${src})
+aux_source_directory(${af_core_SOURCE_DIR} src)  # 寻找源文件
+add_library(af_core ${src})
 
-SET_TARGET_PROPERTIES(af_core PROPERTIES OUTPUT_NAME "aFunCore")
-TARGET_LINK_LIBRARIES(af_core ${libary})
+set_target_properties(af_core PROPERTIES OUTPUT_NAME "aFunCore")
+target_link_libraries(af_core ${libary})
 
-INSTALL(TARGETS af_core)
+install(TARGETS af_core)

+ 7 - 7
src/deps/cjson/CMakeLists.txt

@@ -1,10 +1,10 @@
-PROJECT(cJson LANGUAGES C)
-ADD_LIBRARY(cJson STATIC cJSON/cJSON.c)
+project(cJson LANGUAGES C)
+add_library(cJson STATIC cJSON/cJSON.c)
 
 
-PROJECT(af_json LANGUAGES C)
-ADD_LIBRARY(af_json tool.c)
-SET_TARGET_PROPERTIES(af_json PROPERTIES OUTPUT_NAME "aFunJson")
-TARGET_LINK_LIBRARIES(af_json af_tool cJson)
+project(af_json LANGUAGES C)
+add_library(af_json tool.c)
+set_target_properties(af_json PROPERTIES OUTPUT_NAME "aFunJson")
+target_link_libraries(af_json af_tool cJson)
 
-INSTALL(TARGETS af_json)
+install(TARGETS af_json)

+ 3 - 3
src/deps/dlfcn/CMakeLists.txt

@@ -1,3 +1,3 @@
-PROJECT(dl LANGUAGES C)
-ADD_LIBRARY(dl dlfcn-win32/src/dlfcn.c)
-INSTALL(TARGETS dl)
+project(dl LANGUAGES C)
+add_library(dl dlfcn-win32/src/dlfcn.c)
+install(TARGETS dl)

+ 13 - 14
src/deps/regex/CMakeLists.txt

@@ -1,23 +1,22 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
-SET(CMAKE_C_STANDARD 11)
+set(CMAKE_C_STANDARD 11)
 
-PROJECT(af_regex LANGUAGES C)
+project(af_regex LANGUAGES C)
 
 # 在msvc编译PCRE2时, 会遇到`extern char *sys_errlist[];`的相关代码引发错误
 # 使用HAVE_STRERROR不编译该部分代码
 # 该部分出错代码用于实现GNU的`strerror(int n)`函数
 
 
-SET(PCRE2_SHOW_REPORT OFF)
-SET(PCRE2_BUILD_TESTS OFF)
-SET(PCRE2_BUILD_PCRE2GREP OFF)
-SET(BUILD_SHARED_LIBS OFF)
-SET(CMAKE_INSTALL_LIBDIR  ${LIBRARY_OUTPUT_PATH})
-ADD_DEFINITIONS(-DHAVE_STRERROR=1)
-ADD_SUBDIRECTORY(pcre2)
+set(PCRE2_SHOW_REPORT OFF)
+set(PCRE2_BUILD_TESTS OFF)
+set(PCRE2_BUILD_PCRE2GREP OFF)
+set(BUILD_SHARED_LIBS OFF)
+set(CMAKE_INSTALL_LIBDIR  ${LIBRARY_OUTPUT_PATH})
+add_definitions(-DHAVE_STRERROR=1)
+add_subdirectory(pcre2)
 
-ADD_LIBRARY(af_regex regex.c)
-SET_TARGET_PROPERTIES(af_regex PROPERTIES OUTPUT_NAME "afRegex")
-TARGET_LINK_LIBRARIES(af_regex af_tool pcre2-8-static)
+add_library(af_regex regex.c)
+set_target_properties(af_regex PROPERTIES OUTPUT_NAME "afRegex")
+target_link_libraries(af_regex af_tool pcre2-8-static)
 
-INSTALL(TARGETS af_regex)
+install(TARGETS af_regex)

+ 6 - 6
src/tool/CMakeLists.txt

@@ -1,9 +1,9 @@
-PROJECT(af_tool LANGUAGES C)
+project(af_tool LANGUAGES C)
 
-AUX_SOURCE_DIRECTORY(${af_tool_SOURCE_DIR} src)  # 寻找源文件
-ADD_LIBRARY(af_tool ${src})
+aux_source_directory(${af_tool_SOURCE_DIR} src)  # 寻找源文件
+add_library(af_tool ${src})
 
-SET_TARGET_PROPERTIES(af_tool PROPERTIES OUTPUT_NAME "aFunTool")
-TARGET_LINK_LIBRARIES(af_tool dl)
+set_target_properties(af_tool PROPERTIES OUTPUT_NAME "aFunTool")
+target_link_libraries(af_tool dl)
 
-INSTALL(TARGETS af_tool)
+install(TARGETS af_tool)

+ 28 - 28
test/CMakeLists.txt

@@ -1,40 +1,40 @@
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
 
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})  # 统一输出到bin目录
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})  # 统一输出到bin目录
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
 
-FUNCTION(ADD_aFunTest TEST_NAME TEST_SOURCE)
-    ADD_EXECUTABLE(aFunTest_${TEST_NAME} ${TEST_SOURCE})
-    TARGET_LINK_LIBRARIES(aFunTest_${TEST_NAME} af_tool af_json af_regex pcre2-8 af_core)
-    ADD_TEST(NAME aFunTest_${TEST_NAME} COMMAND $<TARGET_FILE:aFunTest_${TEST_NAME}>)
+FUNCTION(add_aFunTest name src)
+    add_executable(aFunTest_${name} ${src})
+    target_link_libraries(aFunTest_${name} af_tool af_json af_regex pcre2-8 af_core)
+    add_test(NAME aFunTest_${name} COMMAND $<TARGET_FILE:aFunTest_${name}>)
 ENDFUNCTION()
 
-FUNCTION(SET_PASS TEST_NAME PASS_STR)
-    SET_TESTS_PROPERTIES(aFunTest_${TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${PASS_STR})
+FUNCTION(set_pass name pass_regex)
+    set_tests_properties(aFunTest_${name} PROPERTIES PASS_REGULAR_EXPRESSION ${pass_regex})
 ENDFUNCTION()
 
-FUNCTION(SET_LINK TEST_NAME LIB)
-    TARGET_LINK_LIBRARIES(aFunTest_${TEST_NAME} ${LIB})
+FUNCTION(set_link name lib)
+    target_link_libraries(aFunTest_${name} ${lib})
 ENDFUNCTION()
 
-ADD_LIBRARY(lib_Test1 test_lib.c)  # 测试程序需要使用的动态库
-SET_TARGET_PROPERTIES(lib_Test1 PROPERTIES OUTPUT_NAME "Test1")
+add_library(lib_Test1 test_lib.c)  # 测试程序需要使用的动态库
+set_target_properties(lib_Test1 PROPERTIES OUTPUT_NAME "Test1")
 
-ADD_DEFINITIONS(-DLIB_TEST1="$<TARGET_FILE:lib_Test1>")  # 设置宏: lib的所在路径
+add_definitions(-DLIB_TEST1="$<TARGET_FILE:lib_Test1>")  # 设置宏: lib的所在路径
 
-ADD_aFunTest(mem test_mem.c)
-ADD_aFunTest(lib test_test_lib.c)
-ADD_aFunTest(dlc test_dlc.c)
-ADD_aFunTest(byte test_byte.c)
-ADD_aFunTest(byte_code test_byte_code.c)
-ADD_aFunTest(env test_env.c)
-ADD_aFunTest(regex test_regex.c)
-ADD_aFunTest(run test_run.c)
-ADD_aFunTest(reader test_reader.c)
-ADD_aFunTest(lexical test_lexcial.c)
-ADD_aFunTest(syntactic test_syntactic.c)
+add_aFunTest(mem test_mem.c)
+add_aFunTest(lib test_test_lib.c)
+add_aFunTest(dlc test_dlc.c)
+add_aFunTest(byte test_byte.c)
+add_aFunTest(byte_code test_byte_code.c)
+add_aFunTest(env test_env.c)
+add_aFunTest(regex test_regex.c)
+add_aFunTest(run test_run.c)
+add_aFunTest(reader test_reader.c)
+add_aFunTest(lexical test_lexcial.c)
+add_aFunTest(syntactic test_syntactic.c)
 
-SET_LINK(lib lib_Test1)  # 链接测试程序需要的动态库
+set_link(lib lib_Test1)  # 链接测试程序需要的动态库
 
-SET_PASS(lib "num = 100 test = 110")
-SET_PASS(dlc "a = 100, test = 110")
+set_pass(lib "num = 100 test = 110")
+set_pass(dlc "a = 100, test = 110")