diff options
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | ci/travis.sh | 1 | ||||
| -rw-r--r-- | cmake/Version.cmake | 2 | ||||
| -rw-r--r-- | example/CMakeLists.txt | 20 | ||||
| -rw-r--r-- | example/luatest/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | gtest/CMakeLists.txt | 13 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 25 | ||||
| -rw-r--r-- | support/CMakeLists.txt | 22 |
8 files changed, 23 insertions, 77 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d90c40..bb7250a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,8 +30,6 @@ else() message(FATAL_ERROR "Could not find the program cppcheck.") endif() -option(BUILD_STATIC_LIB "build lib${lib_name}.a static lib" OFF) #默认不生成静态库 - add_subdirectory(support) add_subdirectory(src) add_subdirectory(example) diff --git a/ci/travis.sh b/ci/travis.sh index c1472e0..928c108 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -44,7 +44,6 @@ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \ -DENABLE_DEVEL=$ENABLE_DEVEL_SWITCH \ - -DBUILD_STATIC_LIB=$BUILD_STATIC_LIB \ .. make diff --git a/cmake/Version.cmake b/cmake/Version.cmake index 5b4f838..f9bdb1c 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -2,7 +2,7 @@ set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/autorevision.sh) set(__AUTORESIVISION ${CMAKE_BINARY_DIR}/autorevision.sh) -set(__VERSION_CACHE ${CMAKE_SOURCE_DIR}/version.txt) +set(__VERSION_CACHE ${CMAKE_BINARY_DIR}/version.txt) set(__VERSION_CONFIG ${CMAKE_BINARY_DIR}/version.cmake) file(COPY ${__SOURCE_AUTORESIVISION} DESTINATION ${CMAKE_BINARY_DIR} diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 40573e5..1bd1e7d 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -2,23 +2,11 @@ cmake_minimum_required(VERSION 3.5) project (single_thread) project (multithread) -link_directories("${CMAKE_BINARY_DIR}/src") -link_directories("${CMAKE_BINARY_DIR}/support/luajit2/src/luajit2/src/") add_definitions(-g -W -Wall) - add_executable(single_thread single_thread.cpp) add_executable(multithread multithread.cpp) -if (BUILD_STATIC_LIB) - add_dependencies(single_thread ${lib_name}_static) - add_dependencies(multithread ${lib_name}_static) - target_link_libraries(single_thread ${lib_name}_static pthread) - target_link_libraries(multithread ${lib_name}_static pthread) -else() - add_dependencies(single_thread ${lib_name}_shared) - add_dependencies(multithread ${lib_name}_shared) - target_link_libraries(single_thread ${lib_name}_shared pthread) - target_link_libraries(multithread ${lib_name}_shared pthread) -endif() - -# add_subdirectory(luatest)
\ No newline at end of file +add_dependencies(single_thread ${lib_name}_shared) +add_dependencies(multithread ${lib_name}_shared) +target_link_libraries(single_thread ${lib_name}_shared pthread) +target_link_libraries(multithread ${lib_name}_shared pthread) diff --git a/example/luatest/CMakeLists.txt b/example/luatest/CMakeLists.txt index 3031e84..9dafa78 100644 --- a/example/luatest/CMakeLists.txt +++ b/example/luatest/CMakeLists.txt @@ -1,17 +1,8 @@ cmake_minimum_required(VERSION 3.5) project (luatest) -include_directories("../../src/") -link_directories("${CMAKE_BINARY_DIR}/src") -#link_directories("${CMAKE_BINARY_DIR}/support/luajit2/src/luajit2/src/") - +include_directories(${PROJECT_SOURCE_DIR}/src/) add_definitions(-g -W -Wall -O0 -rdynamic) - add_executable(luatest luatest.cpp) -if (BUILD_STATIC_LIB) - add_dependencies(luatest ${lib_name}_static) - target_link_libraries(luatest ${lib_name}_static pthread dl pcap) -else() - add_dependencies(luatest ${lib_name}_shared) - target_link_libraries(luatest ${lib_name}_shared pthread dl pcap) -endif() +add_dependencies(luatest ${lib_name}_shared) +target_link_libraries(luatest ${lib_name}_shared pthread dl pcap) diff --git a/gtest/CMakeLists.txt b/gtest/CMakeLists.txt index 466ad53..75c6710 100644 --- a/gtest/CMakeLists.txt +++ b/gtest/CMakeLists.txt @@ -23,18 +23,11 @@ link_directories("${CMAKE_BINARY_DIR}/src/") link_directories("${CMAKE_BINARY_DIR}/support/GoogleTest/lib/") link_directories("${CMAKE_BINARY_DIR}/support/luajit2/src/luajit2/src/") -#link_libraries(libluajit.a tsglua gtest gtest_main pthread) - add_definitions(-g -W -Wall) add_executable(gtest_elua ${SRCS}) -if (BUILD_STATIC_LIB) - add_dependencies(gtest_elua ${lib_name}_static gtest) - target_link_libraries(gtest_elua ${lib_name}_static gtest gtest_main pthread) -else() - add_dependencies(gtest_elua ${lib_name}_shared gtest) - target_link_libraries(gtest_elua ${lib_name}_shared gtest gtest_main pthread) -endif() -#target_link_libraries(gtest_elua tsglua gtest gtest_main pthread) + +add_dependencies(gtest_elua ${lib_name}_shared gtest) +target_link_libraries(gtest_elua ${lib_name}_shared gtest gtest_main pthread) add_test(NAME SOFT_LINK COMMAND sh -c "ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/script" "${CMAKE_CURRENT_BINARY_DIR}/script") add_test(NAME LUA_TEST COMMAND gtest_elua) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a00dd77..ea3ae99 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,7 +1,5 @@ cmake_minimum_required(VERSION 3.5) -SET(CMAKE_CXX_COMPILER /usr/bin/g++) aux_source_directory(. DIR_LIB_SRCS) -include_directories("${LUAJIT_INSTALL_PREFIX}/include/luajit-2.1") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -shared -fPIC") SET(CMAKE_CXX_DEBUG_FLAGS "${CMAKE_CXX_DEBUG_FLAGS} -Delua_DEBUG") @@ -9,26 +7,11 @@ SET(CMAKE_BUILD_TYPE "Release") option(elua_DEBUG "If enabled, the SDK will be print debuginfo." OFF) -if (BUILD_STATIC_LIB) - add_library(${lib_name}_static STATIC ${DIR_LIB_SRCS}) - target_link_libraries(${lib_name}_static dl luajit2-static) - set_target_properties(${lib_name}_static PROPERTIES OUTPUT_NAME ${lib_name}) +add_library(${lib_name}_shared SHARED ${DIR_LIB_SRCS}) +target_link_libraries(${lib_name}_shared dl luajit2-static) +set_target_properties(${lib_name}_shared PROPERTIES OUTPUT_NAME ${lib_name}) - add_custom_command(TARGET ${lib_name}_static POST_BUILD - COMMAND ar x ${CMAKE_CURRENT_BINARY_DIR}/lib${lib_name}.a - COMMAND ar x ${LUAJIT_INSTALL_PREFIX}/lib/libluajit-5.1.a - COMMAND ar cru lib${lib_name}.a *.o - COMMAND ranlib lib${lib_name}.a - COMMAND rm *.o - ) - install(TARGETS ${lib_name}_static LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES) -else() - add_library(${lib_name}_shared SHARED ${DIR_LIB_SRCS}) - target_link_libraries(${lib_name}_shared dl luajit2-static) - set_target_properties(${lib_name}_shared PROPERTIES OUTPUT_NAME ${lib_name}) - - install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES) -endif() +install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES) install(FILES ${CMAKE_SOURCE_DIR}/src/elua.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER) install(PROGRAMS ${CMAKE_SOURCE_DIR}/example/checktools/checktools.lua DESTINATION ${LUAJIT_INSTALL_PREFIX}/bin COMPONENT LIBRARIES)
\ No newline at end of file diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt index ea15756..b5354a5 100644 --- a/support/CMakeLists.txt +++ b/support/CMakeLists.txt @@ -1,28 +1,23 @@ # CMakeFiles for 3rd vendor library include(ExternalProject) -### luajit-2.1 -set(LUAJIT2_ROOT ${CMAKE_CURRENT_BINARY_DIR}) -set(LUAJIT2_URL ${CMAKE_CURRENT_SOURCE_DIR}/luajit2-2.1-agentzh.zip) -set(LUAJIT2_URL_MD5 37c03c469aa461ec44a0e4cebf1ceb52) -set(LUAJIT2_MAKE cd ${LUAJIT2_ROOT}/luajit2/src/luajit2 && make BUILD_STATIC_LIB=${BUILD_STATIC_LIB}) -set(LUAJIT2_INSTALL cd ${LUAJIT2_ROOT}/luajit2/src/luajit2 && make install PREFIX=${LUAJIT_INSTALL_PREFIX}) ExternalProject_Add(luajit2 PREFIX luajit2 - URL ${LUAJIT2_URL} - URL_MD5 ${LUAJIT2_URL_MD5} - #CONFIGURE_COMMAND ${LUAJIT2_CONFIGURE} + URL ${CMAKE_CURRENT_SOURCE_DIR}/luajit2-2.1-agentzh.zip + URL_MD5 37c03c469aa461ec44a0e4cebf1ceb52 CONFIGURE_COMMAND "" - BUILD_COMMAND ${LUAJIT2_MAKE} - INSTALL_COMMAND ${LUAJIT2_INSTALL} + BUILD_COMMAND make + INSTALL_COMMAND "" BUILD_IN_SOURCE 1 ) - +ExternalProject_Get_Property(luajit2 SOURCE_DIR) +file(MAKE_DIRECTORY ${SOURCE_DIR}/src) add_library(luajit2-static STATIC IMPORTED GLOBAL) add_dependencies(luajit2-static luajit2) -set_property(TARGET luajit2-static PROPERTY IMPORTED_LOCATION ${LUAJIT_INSTALL_PREFIX}/lib/libluajit-5.1.a) +set_property(TARGET luajit2-static PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libluajit.a) +set_property(TARGET luajit2-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src) #### GoogleTest ExternalProject_Add(GoogleTest @@ -36,6 +31,5 @@ file(MAKE_DIRECTORY ${INSTALL_DIR}/include) add_library(gtest SHARED IMPORTED GLOBAL) add_dependencies(gtest GoogleTest) set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest.so) -#set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest_main.so) set_property(TARGET gtest PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) set_property(TARGET gtest PROPERTY INTERFACE_LINK_LIBRARIES pthread) |
