HPCW 3.0
Loading...
Searching...
No Matches
libaec.cmake
Go to the documentation of this file.
1# Copyright (c) 2024 - 2025 Niclas Schroeter
2# All rights reserved.
3#
4# SPDX-License-Identifier: Apache-2.0
5
6set_property(GLOBAL PROPERTY libaec_can_use_system TRUE)
7set_property(GLOBAL PROPERTY libaec_depends)
8
9set(libaec_cmake_args "" CACHE STRING "Custom CMake arguments for libaec")
10set(libaec_build_args "" CACHE STRING "Custom Make arguments for libaec")
11
12if(libaec_enabled)
13 if(USE_SYSTEM_libaec)
14 message(STATUS "LIBAEC: enabled (system installed)")
15 find_package(Libaec MODULE REQUIRED)
16
17 set_if_not_present(ENV{CPATH} "$ENV{CPATH}" "${libaec_INCLUDE_DIRS}")
18 set_if_not_present(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}" "${libaec_LIBRARY_DIRS}")
19 else()
20 if(NOT TARGET libaec)
21 message(STATUS "LIBAEC: enabled (internally built)")
22
23 ExternalProject_Data_Add(
24 libaec
25 ${libaec_revision}
26 CMAKE_ARGS ${cmake_params}
27 -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
28 -DCMAKE_INSTALL_PREFIX:FILEPATH=<INSTALL_DIR>
29 ${default_cmake_args}
30 ${libaec_cmake_args}
31 BUILD_COMMAND $(MAKE) -j${BUILD_PARALLEL_LEVEL} ${default_build_args} ${libaec_build_args})
32
33 ExternalProject_Get_Property(libaec INSTALL_DIR)
34 set(LIBAEC_DIR ${INSTALL_DIR})
35 set_if_not_present(ENV{CPATH} "$ENV{CPATH}" "${LIBAEC_DIR}/include")
36 set_if_not_present(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}" "${LIBAEC_DIR}/lib64")
37 endif()
38 endif()
39endif()