Skip to content

Commit

Permalink
Fix cmake options and yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
MPogotsky committed Sep 12, 2024
1 parent bb1d1d1 commit 9c40adc
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 54 deletions.
23 changes: 9 additions & 14 deletions .github/workflows/test-xapi-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,28 +44,23 @@ jobs:
- name: Configure CMake
run: >
cmake -B ${{ steps.strings.outputs.build-output-dir }}
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-S ${{ github.workspace }}
cmake -B ${{ steps.strings.outputs.build-output-dir }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \
-DBUILD_TESTS=ON \
-S ${{ github.workspace }}
- name: Build For Tests
- name: Build unit tests
run: cmake --build ${{ steps.strings.outputs.build-output-dir }}

- name: Run Unit Tests
- name: Run unit tests
run: |
cd ${{ steps.strings.outputs.build-output-dir }}
./test/tests
- name: Build Library
run: |
cmake -B ${{ steps.strings.outputs.build-output-dir }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \
-DBUILD_RELEASE=ON \
-S ${{ github.workspace }}
cmake --build ${{ steps.strings.outputs.build-output-dir }}
sudo cmake --install ${{ steps.strings.outputs.build-output-dir }}
- name: Install Xapi library
run: sudo cmake --install ${{ steps.strings.outputs.build-output-dir }}

- name: Compile Examples
- name: Compile examples
run: |
cd ${{ github.workspace }}/examples
mkdir build
Expand Down
9 changes: 3 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(BOOST_VERSION_REQUIRED "1.83.0")

# OPTIONS ====================================
option(BUILD_RELEASE "Release version" OFF)
if (BUILD_RELEASE)
message("-- Build for release")
endif()
add_definitions(-DBUILD_RELEASE)
option(BUILD_TESTS "Build tests" OFF)
add_definitions(-DBUILD_TESTS)

# XAPI =======================================
include(${CMAKE_SOURCE_DIR}/CMakeHelpers.cmake)
Expand All @@ -26,6 +23,6 @@ helper_FIND_OPENSSL_LIB()
add_subdirectory(xapi)

# TESTS ======================================
if(NOT BUILD_RELEASE)
if(BUILD_TESTS)
add_subdirectory(test)
endif()
65 changes: 31 additions & 34 deletions xapi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,43 +32,40 @@ target_link_libraries(Xapi PRIVATE
OpenSSL::Crypto
)

if(NOT BUILD_RELEASE)
target_include_directories(Xapi PUBLIC ${CMAKE_SOURCE_DIR})
else()
# LIBRARY SETUP OPTIONS ========================================
include(GNUInstallDirs)
# LIBRARY SETUP OPTIONS ========================================
include(GNUInstallDirs)

target_include_directories(Xapi
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)
target_include_directories(Xapi
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/xapi>"
)

install(TARGETS Xapi
EXPORT XapiTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)

install(TARGETS Xapi
EXPORT XapiTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install(FILES ${XAPI_PUBLIC_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

install(FILES ${XAPI_PUBLIC_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xapi)
install(EXPORT XapiTargets
FILE XapiTargets.cmake
NAMESPACE Xapi::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Xapi
)

install(EXPORT XapiTargets
FILE XapiTargets.cmake
NAMESPACE Xapi::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Xapi
)
# FIND PACKAGE ORCHESTRATION ====================================
include(CMakePackageConfigHelpers)
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/XapiConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Xapi
)

# FIND PACKAGE ORCHESTRATION ====================================
include(CMakePackageConfigHelpers)
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/XapiConfig.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Xapi
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/XapiConfig.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Xapi
)

install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/XapiConfig.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Xapi
)
endif()

0 comments on commit 9c40adc

Please sign in to comment.