diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake index 3c8876c2939..2a471a0349a 100644 --- a/ports/libodb-sqlite/portfile.cmake +++ b/ports/libodb-sqlite/portfile.cmake @@ -26,3 +26,6 @@ else() endif() vcpkg_build_msbuild(PROJECT_PATH "${SOURCE_PATH}\\libodb-sqlite-vc12.sln" PLATFORM ${MSBUILD_PLATFORM} OPTIONS "/p:useenv=true") + +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 new file mode 100644 index 00000000000..d5d14baa229 --- /dev/null +++ b/ports/libodb/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.0) +project(libodb VERSION 2.4.0 LANGUAGES CXX) +set(LIBODB_INSTALL_HEADERS:BOOL CACHE OFF) +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 $ +) +if(BUILD_SHARED_LIBS) + target_compile_definitions(libodb PRIVATE + -DLIBODB_DYNAMIC_LIB) +else() + target_compile_definitions(libodb PRIVATE + -DLIBODB_STATIC_LIB) +endif() +install(TARGETS libodb EXPORT libodbConfig + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) +if(LIBODB_INSTALL_HEADERS) +install(DIRECTORY odb DESTINATION include/ + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hxx" + PATTERN "*.ixx" + PATTERN "*.txx" +) +endif() +install(EXPORT libodbConfig DESTINATION share/libodb) +export(TARGETS libodb NAMESPACE libodb FILE libodbConfig.cmake) diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake index fdb5f946721..b389d6ff000 100644 --- a/ports/libodb/portfile.cmake +++ b/ports/libodb/portfile.cmake @@ -15,36 +15,12 @@ vcpkg_download_distfile(ARCHIVE SHA512 f1311458634695eb6ba307ebfd492e3b260e7beb06db1c5c46df58c339756be4006322cdc4e42d055bf5b2ad14ce4656ddcafcc4e16c282034db8a77d255c3eb ) vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_execute_required_process(COMMAND devenv libodb-vc12.sln /upgrade WORKING_DIRECTORY ${SOURCE_PATH} LOGNAME devenv_upgrade.log) -if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86") - set(MSBUILD_PLATFORM "Win32") -else() - set(MSBUILD_PLATFORM "x64") -endif() -vcpkg_build_msbuild(PROJECT_PATH "${SOURCE_PATH}\\libodb-vc12.sln" PLATFORM ${MSBUILD_PLATFORM}) - -if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86") -file(INSTALL ${SOURCE_PATH}/bin/odb-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.dll) -file(INSTALL ${SOURCE_PATH}/bin/odb-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.pdb) -file(INSTALL ${SOURCE_PATH}/bin/odb-d-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/odb-2.4-vc14.dll) -file(INSTALL ${SOURCE_PATH}/bin/odb-d-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/odb-d-2.4-vc14.pdb) -file(INSTALL ${SOURCE_PATH}/lib/odb.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${SOURCE_PATH}/lib/odb-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -elseif(${TRIPLET_SYSTEM_ARCH} STREQUAL "x64") -file(INSTALL ${SOURCE_PATH}/bin64/odb-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.dll) -file(INSTALL ${SOURCE_PATH}/bin64/odb-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.pdb) -file(INSTALL ${SOURCE_PATH}/bin64/odb-d-2.4-vc12.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-2.4-vc14.dll) -file(INSTALL ${SOURCE_PATH}/bin64/odb-d-2.4-vc12.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin/odb-d-2.4-vc14.pdb) -file(INSTALL ${SOURCE_PATH}/lib64/odb.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${SOURCE_PATH}/lib64/odb-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -endif() - -#file(GLOB_RECURSE INCLUDE_FILES LIST_DIRECTORIES false RELATIVE ${SOURCE_DIR}) -file(INSTALL ${SOURCE_PATH}/odb DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hxx" - PATTERN "*.ixx" - PATTERN "*.txx") +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG + -DLIBODB_INSTALL_HEADERS=OFF +) # 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)