提交 b74d8afc 编写于 作者: J jiacy-jcy

enh: geos/rocksdb support static lib on windows debug

上级 6e80f55e
...@@ -80,7 +80,8 @@ ENDIF () ...@@ -80,7 +80,8 @@ ENDIF ()
IF (TD_WINDOWS) IF (TD_WINDOWS)
MESSAGE("${Yellow} set compiler flag for Windows! ${ColourReset}") MESSAGE("${Yellow} set compiler flag for Windows! ${ColourReset}")
SET(COMMON_FLAGS "/w /D_WIN32 /DWIN32 /Zi /MTd") SET(COMMON_FLAGS "/w /D_WIN32 /DWIN32")
SET(COMMON_FLAGS_DBG "/Zi /MTd")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
# IF (MSVC AND (MSVC_VERSION GREATER_EQUAL 1900)) # IF (MSVC AND (MSVC_VERSION GREATER_EQUAL 1900))
# SET(COMMON_FLAGS "${COMMON_FLAGS} /Wv:18") # SET(COMMON_FLAGS "${COMMON_FLAGS} /Wv:18")
...@@ -98,8 +99,16 @@ IF (TD_WINDOWS) ...@@ -98,8 +99,16 @@ IF (TD_WINDOWS)
SET(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "" FORCE) SET(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "" FORCE)
ENDIF () ENDIF ()
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAGS}") SET(CMAKE_C_FLAGS_REL "${CMAKE_C_FLAGS} ${COMMON_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS}") SET(CMAKE_CXX_FLAGS_REL "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS}")
IF (${BUILD_RELEASE})
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_REL}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_REL}")
ELSE ()
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_REL} ${COMMON_FLAGS_DBG}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_REL} ${COMMON_FLAGS_DBG}")
ENDIF ()
SET(JEMALLOC_ENABLED OFF) SET(JEMALLOC_ENABLED OFF)
......
...@@ -179,6 +179,7 @@ ENDIF() ...@@ -179,6 +179,7 @@ ENDIF()
MESSAGE(STATUS "Platform arch:" ${PLATFORM_ARCH_STR}) MESSAGE(STATUS "Platform arch:" ${PLATFORM_ARCH_STR})
set(TD_DEPS_DIR "x86") set(TD_DEPS_DIR "x86")
set(TD_CONTRIB_STATIC FALSE)
if (TD_LINUX) if (TD_LINUX)
IF (TD_ARM_64 OR TD_ARM_32) IF (TD_ARM_64 OR TD_ARM_32)
set(TD_DEPS_DIR "arm") set(TD_DEPS_DIR "arm")
...@@ -187,6 +188,12 @@ if (TD_LINUX) ...@@ -187,6 +188,12 @@ if (TD_LINUX)
ELSE() ELSE()
set(TD_DEPS_DIR "x86") set(TD_DEPS_DIR "x86")
ENDIF() ENDIF()
set(TD_CONTRIB_STATIC TRUE)
elseif (TD_WINDOWS)
IF (${PLATFORM_ARCH_STR} MATCHES "amd64")
set(TD_DEPS_DIR "x86/win64")
set(TD_CONTRIB_STATIC TRUE)
ENDIF()
endif() endif()
MESSAGE(STATUS "DEPS_DIR: " ${TD_DEPS_DIR}) MESSAGE(STATUS "DEPS_DIR: " ${TD_DEPS_DIR})
......
# geos # geos
ExternalProject_Add(geos if (${BUILD_CONTRIB} OR NOT ${TD_CONTRIB_STATIC})
ExternalProject_Add(geos
GIT_REPOSITORY https://github.com/libgeos/geos.git GIT_REPOSITORY https://github.com/libgeos/geos.git
GIT_TAG 3.12.0 GIT_TAG 3.12.0
SOURCE_DIR "${TD_CONTRIB_DIR}/geos" SOURCE_DIR "${TD_CONTRIB_DIR}/geos"
...@@ -10,3 +11,4 @@ ExternalProject_Add(geos ...@@ -10,3 +11,4 @@ ExternalProject_Add(geos
INSTALL_COMMAND "" INSTALL_COMMAND ""
TEST_COMMAND "" TEST_COMMAND ""
) )
endif()
...@@ -13,7 +13,7 @@ if (${BUILD_CONTRIB}) ...@@ -13,7 +13,7 @@ if (${BUILD_CONTRIB})
TEST_COMMAND "" TEST_COMMAND ""
) )
else() else()
if (NOT ${TD_LINUX}) if (NOT ${TD_CONTRIB_STATIC})
ExternalProject_Add(rocksdb ExternalProject_Add(rocksdb
URL https://github.com/facebook/rocksdb/archive/refs/tags/v8.1.1.tar.gz URL https://github.com/facebook/rocksdb/archive/refs/tags/v8.1.1.tar.gz
URL_HASH MD5=3b4c97ee45df9c8a5517308d31ab008b URL_HASH MD5=3b4c97ee45df9c8a5517308d31ab008b
......
...@@ -83,7 +83,7 @@ if (${BUILD_CONTRIB}) ...@@ -83,7 +83,7 @@ if (${BUILD_CONTRIB})
add_definitions(-DUSE_ROCKSDB) add_definitions(-DUSE_ROCKSDB)
endif() endif()
else() else()
if (NOT ${TD_LINUX}) if (NOT ${TD_CONTRIB_STATIC})
if(${BUILD_WITH_ROCKSDB}) if(${BUILD_WITH_ROCKSDB})
cat("${TD_SUPPORT_DIR}/rocksdb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) cat("${TD_SUPPORT_DIR}/rocksdb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE})
add_definitions(-DUSE_ROCKSDB) add_definitions(-DUSE_ROCKSDB)
...@@ -300,7 +300,7 @@ if (${BUILD_WITH_ROCKSDB}) ...@@ -300,7 +300,7 @@ if (${BUILD_WITH_ROCKSDB})
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include> PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include>
) )
else() else()
if (NOT ${TD_LINUX}) if (NOT ${TD_CONTRIB_STATIC})
MESSAGE(STATUS "CXXXX STATUS CONFIG: " ${CMAKE_CXX_FLAGS}) MESSAGE(STATUS "CXXXX STATUS CONFIG: " ${CMAKE_CXX_FLAGS})
if(${TD_DARWIN}) if(${TD_DARWIN})
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=maybe-uninitialized") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=maybe-uninitialized")
...@@ -547,10 +547,11 @@ endif(${BUILD_ADDR2LINE}) ...@@ -547,10 +547,11 @@ endif(${BUILD_ADDR2LINE})
# geos # geos
if(${BUILD_GEOS}) if(${BUILD_GEOS})
if (${BUILD_CONTRIB} OR NOT ${TD_CONTRIB_STATIC})
if(${TD_LINUX}) if(${TD_LINUX})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_REL}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_REL}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_REL}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_REL}")
IF ("${CMAKE_BUILD_TYPE}" STREQUAL "") if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
SET(CMAKE_BUILD_TYPE Release) SET(CMAKE_BUILD_TYPE Release)
endif() endif()
endif(${TD_LINUX}) endif(${TD_LINUX})
...@@ -561,6 +562,7 @@ if(${BUILD_GEOS}) ...@@ -561,6 +562,7 @@ if(${BUILD_GEOS})
geos_c geos_c
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/geos/include> PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/geos/include>
) )
endif()
endif(${BUILD_GEOS}) endif(${BUILD_GEOS})
# ================================================================================================ # ================================================================================================
......
...@@ -25,6 +25,10 @@ IF (TD_LINUX_64 AND JEMALLOC_ENABLED) ...@@ -25,6 +25,10 @@ IF (TD_LINUX_64 AND JEMALLOC_ENABLED)
ADD_DEPENDENCIES(taosd jemalloc) ADD_DEPENDENCIES(taosd jemalloc)
target_link_libraries(taosd dnode ${LINK_JEMALLOC}) target_link_libraries(taosd dnode ${LINK_JEMALLOC})
ELSE () ELSE ()
IF (TD_WINDOWS AND TD_CONTRIB_STATIC)
target_link_libraries(taosd dnode shlwapi rpcrt4)
ELSE()
target_link_libraries(taosd dnode) target_link_libraries(taosd dnode)
ENDIF()
ENDIF () ENDIF ()
...@@ -122,7 +122,7 @@ else() ...@@ -122,7 +122,7 @@ else()
PUBLIC "src/inc" PUBLIC "src/inc"
PUBLIC "${TD_SOURCE_DIR}/include/libs/scalar" PUBLIC "${TD_SOURCE_DIR}/include/libs/scalar"
) )
if (${TD_LINUX}) if (${TD_CONTRIB_STATIC})
target_include_directories( target_include_directories(
vnode vnode
PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/rocksdb_static" PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/rocksdb_static"
......
...@@ -19,7 +19,7 @@ if(${BUILD_WITH_ROCKSDB}) ...@@ -19,7 +19,7 @@ if(${BUILD_WITH_ROCKSDB})
PUBLIC "${TD_SOURCE_DIR}/contrib/rocksdb/include" PUBLIC "${TD_SOURCE_DIR}/contrib/rocksdb/include"
) )
else() else()
if (TD_LINUX) if (TD_CONTRIB_STATIC)
target_include_directories( target_include_directories(
stream stream
PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/rocksdb_static" PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/rocksdb_static"
......
...@@ -19,12 +19,31 @@ target_include_directories( ...@@ -19,12 +19,31 @@ target_include_directories(
PRIVATE "${TD_SOURCE_DIR}/include/common" PRIVATE "${TD_SOURCE_DIR}/include/common"
PRIVATE "${GRANT_CFG_INCLUDE_DIR}" PRIVATE "${GRANT_CFG_INCLUDE_DIR}"
) )
target_link_libraries(
if (${TD_CONTRIB_STATIC} AND NOT ${BUILD_CONTRIB})
target_include_directories(
util
PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/geos_static"
)
target_link_directories(
util
PUBLIC "${TD_SOURCE_DIR}/deps/${TD_DEPS_DIR}/geos_static"
)
target_link_libraries(
util
PUBLIC os
PUBLIC lz4_static
PUBLIC api cjson geos_c geos
)
else()
target_link_libraries(
util util
PUBLIC os PUBLIC os
PUBLIC lz4_static PUBLIC lz4_static
PUBLIC api cjson geos_c PUBLIC api cjson geos_c
) )
endif()
if(${BUILD_TEST}) if(${BUILD_TEST})
ADD_SUBDIRECTORY(test) ADD_SUBDIRECTORY(test)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册