diff options
| author | Charles Barto <bartoc@umich.edu> | 2016-10-18 19:53:43 -0400 |
|---|---|---|
| committer | Charles Barto <bartoc@umich.edu> | 2016-10-19 01:28:55 -0400 |
| commit | cc6fdbeb8baf7882fc701c9778e9b2f8ba6afd4c (patch) | |
| tree | c9cdb1085120f4915db38596aa40bf1068cec5e2 | |
| parent | f6fcd77e21215133ded2c3b6e7559d99ffcb70e4 (diff) | |
| download | vcpkg-cc6fdbeb8baf7882fc701c9778e9b2f8ba6afd4c.tar.gz vcpkg-cc6fdbeb8baf7882fc701c9778e9b2f8ba6afd4c.zip | |
more work on libodb
| -rw-r--r-- | ports/libodb-sqlite/CMakeLists.txt | 43 | ||||
| -rw-r--r-- | ports/libodb-sqlite/portfile.cmake | 18 | ||||
| -rw-r--r-- | ports/libodb/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | ports/libodb/portfile.cmake | 8 |
4 files changed, 66 insertions, 14 deletions
diff --git a/ports/libodb-sqlite/CMakeLists.txt b/ports/libodb-sqlite/CMakeLists.txt new file mode 100644 index 000000000..89b99f529 --- /dev/null +++ b/ports/libodb-sqlite/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 3.0) +project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX) +find_package(libodb REQUIRED VERSION 2.4.0) +set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)") +file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + *.cxx) +list(FILTER libodb_src EXCLUDE REGEX /posix/.*) +add_library(sqlite ${libodb_src}) +target_include_directories(sqlite + PUBLIC + $<INSTALL_INTERFACE:include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + +) +target_link_libraries(sqlite libodb::libodb) +if(BUILD_SHARED_LIBS) + target_compile_definitions(sqlite PRIVATE + -DLIBODB_SQLITE_DYNAMIC_LIB + -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY) +else() + target_compile_definitions(sqlite PRIVATE + -DLIBODB_SQLITE_STATIC_LIB + -DLIBODB_SQLITE_HAVE_UNLOCK_NOTIFY) +endif() +install(TARGETS sqlite EXPORT libodb_sqliteConfig + COMPONENT sqlite + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) +if(LIBODB_INSTALL_HEADERS) +install(DIRECTORY odb DESTINATION include/ + COMPONENT sqlite + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hxx" + PATTERN "*.ixx" + PATTERN "*.txx" +) +endif() +install(EXPORT libodb_sqliteConfig DESTINATION share/libodb) +export(TARGETS sqlite NAMESPACE libodb FILE libodb_sqliteConfig.cmake) diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake index 2a471a034..0c536066a 100644 --- a/ports/libodb-sqlite/portfile.cmake +++ b/ports/libodb-sqlite/portfile.cmake @@ -16,16 +16,14 @@ vcpkg_download_distfile(ARCHIVE ) vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_execute_required_process(COMMAND devenv libodb-sqlite-vc12.sln /upgrade WORKING_DIRECTORY ${SOURCE_PATH} LOGNAME devenv_upgrade.log) -set(ENV{INCLUDE} "$ENV{INCLUDE};${CURRENT_INSTALLED_DIR}/include") -set(ENV{LIB} "$ENV{LIB};${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/debug/lib") -if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86") - set(MSBUILD_PLATFORM "Win32") -else() - set(MSBUILD_PLATFORM "x64") -endif() -vcpkg_build_msbuild(PROJECT_PATH "${SOURCE_PATH}\\libodb-sqlite-vc12.sln" PLATFORM ${MSBUILD_PLATFORM} - OPTIONS "/p:useenv=true") +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG + -DLIBODB_INSTALL_HEADERS=OFF +) +vcpkg_build_cmake() +vcpkg_install_cmake() file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb/copyright)
\ No newline at end of file diff --git a/ports/libodb/CMakeLists.txt b/ports/libodb/CMakeLists.txt index d5d14baa2..0d13ecefd 100644 --- a/ports/libodb/CMakeLists.txt +++ b/ports/libodb/CMakeLists.txt @@ -1,13 +1,16 @@ cmake_minimum_required(VERSION 3.0) project(libodb VERSION 2.4.0 LANGUAGES CXX) -set(LIBODB_INSTALL_HEADERS:BOOL CACHE OFF) +set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)") file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cxx) list(FILTER libodb_src EXCLUDE REGEX /posix/.*) add_library(libodb ${libodb_src}) target_include_directories(libodb - PUBLIC $<INSTALL_INTERFACE:include> + PUBLIC + $<INSTALL_INTERFACE:include> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + ) if(BUILD_SHARED_LIBS) target_compile_definitions(libodb PRIVATE @@ -30,5 +33,5 @@ install(DIRECTORY odb DESTINATION include/ PATTERN "*.txx" ) endif() -install(EXPORT libodbConfig DESTINATION share/libodb) -export(TARGETS libodb NAMESPACE libodb FILE libodbConfig.cmake) +install(EXPORT libodbConfig NAMESPACE libodb:: DESTINATION share/libodb) +export(TARGETS libodb NAMESPACE libodb:: FILE libodbConfig.cmake) diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake index b389d6ff0..493bcc438 100644 --- a/ports/libodb/portfile.cmake +++ b/ports/libodb/portfile.cmake @@ -21,6 +21,14 @@ vcpkg_configure_cmake( OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) +vcpkg_build_cmake() +vcpkg_install_cmake() +file(READ ${CURRENT_PACKAGES_DIR}/debug/share/libodb/libodbConfig-debug.cmake LIBODB_DEBUG_TARGETS) +string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/libodb/libodbConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb/copyright) + +vcpkg_copy_pdbs() |
