Files
mir_server/sdk/srvlib/CMakeLists.txt
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

102 lines
3.2 KiB
CMake

cmake_minimum_required(VERSION 2.6)
project(srvlibs)
# set(PROJECTNAME "srvlibs")
# project(${PROJECTNAME} CXX)
# project(${PROJECTNAME} C CXX)
# Avoid warnings in higher versions
# if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.6)
# CMAKE_POLICY(VERSION 2.8)
# endif()
MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
if( NOT CMAKE_BUILD_TYPE )
set(CMAKE_BUILD_TYPE "Release")
endif()
ADD_DEFINITIONS(-D_GNU_SOURCE -D_REENTRANT)
set(BUILD_SHARED_LIBS ON)
if( BUILD_SHARED_LIBS )
SET ( LIBS_TYPE SHARED)
else()
SET ( LIBS_TYPE STATIC)
endif()
set( ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR} )
# set( CMAKE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
# set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_MODULE_DIR}/cmake/modules)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../libs)
set(BINARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../libs)
set( CMAKE_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../sdk) # include 文件夹
# set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb -fPIC -pthread -D_DEBUG")
# set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -ggdb -g -Wall -pthread -fPIC")
# message( "main ---- CMAKE_SOURCE_DIR 1******************************-> ${CMAKE_INCLUDE_DIR}" )
# message( "main ---- CMAKE_CURRENT_SOURCE_DIR 1******************************-> ${CMAKE_CURRENT_SOURCE_DIR}" )
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb -fPIC -D_DEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -ggdb -g -Wall -fPIC")
include_directories(
${CMAKE_INCLUDE_DIR}/public
${CMAKE_INCLUDE_DIR}/system
${CMAKE_INCLUDE_DIR}/utils
${CMAKE_INCLUDE_DIR}/lua-5.1/src
${CMAKE_INCLUDE_DIR}/tolua++/src
${CMAKE_INCLUDE_DIR}/mysql-5.2/include
${CMAKE_INCLUDE_DIR}/zlib 1.1.4/src
${CMAKE_CURRENT_SOURCE_DIR}/include
#${CMAKE_CURRENT_SOURCE_DIR}/../lua-5.1/src
#${CMAKE_CURRENT_SOURCE_DIR}/../tolua++/src
#${CMAKE_CURRENT_SOURCE_DIR}/../zlib 1.1.4/src
#${CMAKE_CURRENT_SOURCE_DIR}/../common/libs/src/wylib/include
#${CMAKE_CURRENT_SOURCE_DIR}/../mysql-5.2/include
)
file(GLOB_RECURSE sources *.cpp *.c)
file(GLOB_RECURSE sources2 ../system/*.cpp ../system/*.c)
file(GLOB_RECURSE sources3 ../utils/*.cpp ../utils/*.c)
# file(GLOB sources1 *.cpp *.c)
# file(GLOB sources2 */*.cpp */*.c)
# file(GLOB sources3 */*/*.cpp */*/*.c)
# file(GLOB sources4 */*/*/*.cpp */*/*/*.c)
# file(GLOB sources5 */*/*/*/*.cpp */*/*/*/*.c)
# link_directories (
# ${CMAKE_CURRENT_SOURCE_DIR}/../common/cpp/libs/3rd/bin
#)
#add_subdirectory("src")
if ( ${CMAKE_BUILD_TYPE} STREQUAL "Release" )
set( _DEBUG 0 )
else ()
set( _DEBUG 1 )
endif()
if ( _DEBUG )
set( EXE_NAME srv_d )
else()
set( EXE_NAME srv_r )
endif()
# add_library("${EXE_NAME}" STATIC ${sources1} ${sources2} ${sources3} ${sources4} ${sources5})
add_library(${EXE_NAME} STATIC ${sources} ${sources2} ${sources3})
# include(../cmake/libs.cmake)
# add_library("${EXE_NAME}" SHARED ${Npc_include} ${sources} )
# add_library("${EXE_NAME}" SHARED ${sources})
# SET_TARGET_PROPERTIES(nyutil PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# SET_TARGET_PROPERTIES(nyutil_static PROPERTIES OUTPUT_NAME "nyutil")
# SET_TARGET_PROPERTIES(nyutil PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# SET_TARGET_PROPERTIES(nyutil_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)