1
0
mirror of synced 2025-12-27 23:47:57 +08:00
Files
SnowFlake-IdGenerator/C/source/CMakeLists.txt

32 lines
1.1 KiB
CMake
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
cmake_minimum_required(VERSION 3.13)
project(YitIdGen)
set(CMAKE_C_STANDARD 11)
#set(CMAKE_BUILD_TYPE DEBUG)
#set(CMAKE_BUILD_TYPE RELEASE)
aux_source_directory(. DIR_SRCS)
add_subdirectory(idgen)
# 在idgen部分增加-fPIC选项
# 原因是由于在生成静态库 libidgen.a 时SnowWorkerM1.c.o中的某些符号这里是 ThreadMutex没有被正确地编译为位置无关代码Position Independent Code, PIC。对于共享库所有包含的代码都必须是位置无关的以便能够在内存中任意位置加载
target_compile_options(idgen PRIVATE -fPIC)
#编译动态库
set(LIB_SRC YitIdHelper.h YitIdHelper.c)
add_library(YitIdGenLib SHARED ${LIB_SRC})
target_link_libraries(YitIdGenLib idgen)
set_target_properties(YitIdGenLib PROPERTIES
LINKER_LANGUAGE C
OUTPUT_NAME "yitidgenc"
PREFIX "")
# 编译执行文件
# set(LIB_SRC YitIdHelper.h YitIdHelper.c)
add_library(YitIdHelper ${LIB_SRC})
add_executable(YitIdGen main.c)
target_link_libraries(YitIdGen YitIdHelper pthread)
target_link_libraries(YitIdGen idgen pthread)