diff --git a/.gitignore b/.gitignore index 3078c01..af496b7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,9 @@ *.aps **/ipch +*.tpr +*.tpd + # for CMake CMakeFiles cmake_install.cmake diff --git a/CMakeCfg.txt b/CMakeCfg.txt index 49102d2..b80f03b 100644 --- a/CMakeCfg.txt +++ b/CMakeCfg.txt @@ -14,17 +14,16 @@ if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") MESSAGE(STATUS "build on macOS...") set(OS_MACOS 1) set(OS_POSIX 1) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(TP_EXTERNAL_RELEASE_DIR "${PROJECT_SOURCE_DIR}/external/macos/release") elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") set(OS_LINUX 1) set(OS_POSIX 1) MESSAGE(STATUS "build on Linux...") - # add_subdirectory(server/tp_web/src) - # set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(TP_EXTERNAL_RELEASE_DIR "${PROJECT_SOURCE_DIR}/external/linux/release") elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") - # MESSAGE(FATAL_ERROR "unsupported platform: Windows") + MESSAGE(FATAL_ERROR "unsupported platform: Windows") else () MESSAGE(FATAL_ERROR "unsupported platform: ${CMAKE_SYSTEM_NAME}") endif () diff --git a/build/builder/build-external.py b/build/builder/build-external.py index e46d3f4..ea8ac69 100644 --- a/build/builder/build-external.py +++ b/build/builder/build-external.py @@ -540,7 +540,7 @@ class BuilderLinux(BuilderBase): ' -DWITH_EXAMPLES=OFF' \ ' -DWITH_BENCHMARKS=OFF' \ ' -DWITH_NACL=OFF' \ - ' ..'.format(path_release=self.PATH_RELEASE) + ''.format(path_release=self.PATH_RELEASE) # ' -DWITH_STATIC_LIB=ON' @@ -743,8 +743,8 @@ class BuilderMacOS(BuilderBase): os.chdir(old_p) def _build_libssh(self, file_name): - cc.n('skip build libssh on macOS.') - return + # cc.n('skip build libssh on macOS.') + # return if not self._download_libssh(file_name): return @@ -761,13 +761,16 @@ class BuilderMacOS(BuilderBase): build_path = os.path.join(self.LIBSSH_PATH_SRC, 'build') cmake_define = ' -DCMAKE_INSTALL_PREFIX={path_release}' \ - ' -DOPENSSL_INCLUDE_DIR={path_release}/include' \ - ' -DOPENSSL_LIBRARIES={path_release}/lib' \ + ' -DOPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include' \ + ' -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib' \ + ' -DWITH_GCRYPT=OFF' \ + ' -DWITH_GEX=OFF' \ ' -DWITH_SFTP=ON' \ ' -DWITH_SERVER=ON' \ ' -DWITH_GSSAPI=OFF' \ - ' -DWITH_ZLIB=OFF' \ + ' -DWITH_ZLIB=ON' \ ' -DWITH_PCAP=OFF' \ + ' -DBUILD_SHARED_LIBS=OFF' \ ' -DUNIT_TESTING=OFF' \ ' -DWITH_EXAMPLES=OFF' \ ' -DWITH_BENCHMARKS=OFF' \ diff --git a/server/tp_core/core/CMakeLists.txt b/server/tp_core/core/CMakeLists.txt index 2abe5de..5b9f238 100644 --- a/server/tp_core/core/CMakeLists.txt +++ b/server/tp_core/core/CMakeLists.txt @@ -3,19 +3,17 @@ cmake_minimum_required(VERSION 3.5) MESSAGE(STATUS "=======================================================") MESSAGE(STATUS " tp_core") MESSAGE(STATUS "=======================================================") -#MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}") -#MESSAGE(STATUS "current source directory is ${CMAKE_CURRENT_SOURCE_DIR}") include(../../../CMakeCfg.txt) ADD_DEFINITIONS( - -DMG_ENABLE_THREADS - -DMG_DISABLE_HTTP_DIGEST_AUTH - -DMG_DISABLE_MQTT - -DMG_DISABLE_SSI - # -DMG_DISABLE_FILESYSTEM - -DHAVE_CONFIG_H - # -DCS_COMMON_MD5_H_ - -DCS_DISABLE_MD5 + -DMG_ENABLE_THREADS + -DMG_DISABLE_HTTP_DIGEST_AUTH + -DMG_DISABLE_MQTT + -DMG_DISABLE_SSI + # -DMG_DISABLE_FILESYSTEM + -DHAVE_CONFIG_H + # -DCS_COMMON_MD5_H_ + -DCS_DISABLE_MD5 ) aux_source_directory(. DIR_SRCS) @@ -30,16 +28,26 @@ include_directories( ../../../external/jsoncpp/include ) -include_directories( +if (OS_LINUX) + set(CMAKE_EXE_LINKER_FLAGS "-export-dynamic") + include_directories( ${TP_EXTERNAL_RELEASE_DIR}/include -) -link_directories(${TP_EXTERNAL_RELEASE_DIR}/lib) - + ) + link_directories(${TP_EXTERNAL_RELEASE_DIR}/lib) +elseif (OS_MACOS) + include_directories( + /usr/local/opt/openssl/include + ${TP_EXTERNAL_RELEASE_DIR}/include + ) + link_directories( + /usr/local/opt/openssl/lib + ${TP_EXTERNAL_RELEASE_DIR}/lib + ) +endif () add_executable(tp_core ${DIR_SRCS}) if (OS_LINUX) - set(CMAKE_EXE_LINKER_FLAGS "-export-dynamic") target_link_libraries(tp_core ssl crypto mbedx509 mbedtls mbedcrypto dl pthread rt util) elseif (OS_MACOS) target_link_libraries(tp_core ssl crypto mbedx509 mbedtls mbedcrypto dl pthread util) diff --git a/server/tp_core/protocol/ssh/CMakeLists.txt b/server/tp_core/protocol/ssh/CMakeLists.txt index 4d122e0..91934b4 100644 --- a/server/tp_core/protocol/ssh/CMakeLists.txt +++ b/server/tp_core/protocol/ssh/CMakeLists.txt @@ -3,8 +3,6 @@ cmake_minimum_required(VERSION 3.5) MESSAGE(STATUS "=======================================================") MESSAGE(STATUS " libtpssh") MESSAGE(STATUS "=======================================================") -#MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}") -#MESSAGE(STATUS "current source directory is ${CMAKE_CURRENT_SOURCE_DIR}") include(../../../../CMakeCfg.txt) @@ -27,13 +25,25 @@ include_directories( ../../../../external/jsoncpp/include ) -include_directories( - ${TP_EXTERNAL_RELEASE_DIR}/include - ) -link_directories( - ${TP_EXTERNAL_RELEASE_DIR}/lib - ${TP_EXTERNAL_RELEASE_DIR}/lib64 - ) +if (OS_LINUX) + include_directories( + ${TP_EXTERNAL_RELEASE_DIR}/include + ) + link_directories( + ${TP_EXTERNAL_RELEASE_DIR}/lib + ${TP_EXTERNAL_RELEASE_DIR}/lib64 + ) +elseif (OS_MACOS) + include_directories( + /usr/local/opt/openssl/include + ${TP_EXTERNAL_RELEASE_DIR}/include + ) + link_directories( + /usr/local/opt/openssl/lib + ${TP_EXTERNAL_RELEASE_DIR}/lib + ) +endif () + add_library(tpssh SHARED ${DIR_SSH_SRCS}) diff --git a/server/tp_core/testssh/CMakeLists.txt b/server/tp_core/testssh/CMakeLists.txt index c5fd10f..f78a3a3 100644 --- a/server/tp_core/testssh/CMakeLists.txt +++ b/server/tp_core/testssh/CMakeLists.txt @@ -14,19 +14,30 @@ include_directories( ../../../common/libex/include ) -include_directories( +if (OS_LINUX) + set(CMAKE_EXE_LINKER_FLAGS "-export-dynamic") + include_directories( ${TP_EXTERNAL_RELEASE_DIR}/include -) -link_directories( - ${TP_EXTERNAL_RELEASE_DIR}/lib - ${TP_EXTERNAL_RELEASE_DIR}/lib64 ) + link_directories( + ${TP_EXTERNAL_RELEASE_DIR}/lib + ${TP_EXTERNAL_RELEASE_DIR}/lib64 + ) +elseif (OS_MACOS) + include_directories( + /usr/local/opt/openssl/include + ${TP_EXTERNAL_RELEASE_DIR}/include + ) + link_directories( + /usr/local/opt/openssl/lib + ${TP_EXTERNAL_RELEASE_DIR}/lib + ) +endif () add_executable(testssh ${DIR_SRCS}) if (OS_LINUX) - set(CMAKE_EXE_LINKER_FLAGS "-export-dynamic") target_link_libraries(testssh ssh ssl z crypto dl pthread rt util) elseif (OS_MACOS) target_link_libraries(testssh ssh ssl z crypto dl pthread util)