Skip to content

Commit 9439342

Browse files
committed
Fix CMakeLists.txt
Signed-off-by: Omar Shrit <omar@avontech.fr>
1 parent 0569865 commit 9439342

1 file changed

Lines changed: 2 additions & 60 deletions

File tree

embedded/crosscompile_random_forest/CMakeLists.txt

Lines changed: 2 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,18 @@
11
cmake_minimum_required(VERSION 3.6)
22
project(RandomForest)
33

4-
include(CMake/Autodownload.cmake)
54
include(CMake/ConfigureCrossCompile.cmake)
5+
include(CMake/mlpack.cmake)
66

77
option(USE_OPENMP "If available, use OpenMP for parallelization." ON)
88

9-
# Set required standard to C++17.
10-
set(CMAKE_CXX_STANDARD 17)
11-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
12-
13-
# If we're using gcc, then we need to link against pthreads to use std::thread,
14-
# which we do in the tests.
15-
if (CMAKE_COMPILER_IS_GNUCC)
16-
find_package(Threads)
17-
set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
18-
endif()
19-
20-
search_openblas(0.3.26)
21-
22-
get_deps(https://files.mlpack.org/armadillo-12.6.5.tar.gz armadillo armadillo-12.6.5.tar.gz)
23-
set(ARMADILLO_INCLUDE_DIR ${GENERIC_INCLUDE_DIR})
24-
find_package(Armadillo REQUIRED)
25-
# Include directories for the previous dependencies.
26-
set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${ARMADILLO_INCLUDE_DIRS})
27-
set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${ARMADILLO_LIBRARIES})
28-
29-
# Find stb_image.h and stb_image_write.h.
30-
get_deps(https://mlpack.org/files/stb.tar.gz stb stb.tar.gz)
31-
set(STB_IMAGE_INCLUDE_DIR ${GENERIC_INCLUDE_DIR})
32-
set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} "${STB_IMAGE_INCLUDE_DIR}")
33-
34-
# Find ensmallen.
35-
get_deps(https://www.ensmallen.org/files/ensmallen-latest.tar.gz ensmallen ensmallen-latest.tar.gz)
36-
set(ENSMALLEN_INCLUDE_DIR ${GENERIC_INCLUDE_DIR})
37-
set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} "${ENSMALLEN_INCLUDE_DIR}")
38-
39-
# Find cereal.
40-
get_deps(https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.tar.gz cereal cereal-1.3.0.tar.gz)
41-
set(CEREAL_INCLUDE_DIR ${GENERIC_INCLUDE_DIR})
42-
set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${CEREAL_INCLUDE_DIR})
43-
44-
# Detect OpenMP support in a compiler. If the compiler supports OpenMP, flags
45-
# to compile with OpenMP are returned and added. Note that MSVC does not
46-
# support a new-enough version of OpenMP to be useful.
47-
if (USE_OPENMP)
48-
find_package(OpenMP)
49-
endif ()
50-
51-
if (OpenMP_FOUND AND OpenMP_CXX_VERSION VERSION_GREATER_EQUAL 3.0.0)
52-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
53-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
54-
set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${OpenMP_CXX_LIBRARIES})
55-
else ()
56-
# Disable warnings for all the unknown OpenMP pragmas.
57-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas")
58-
set(OpenMP_CXX_FLAGS "")
59-
endif ()
60-
61-
include_directories(BEFORE ${MLPACK_INCLUDE_DIRS})
62-
include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/src/)
63-
64-
# Finally, add any cross-compilation support libraries (they may need to come
65-
# last). If we are not cross-compiling, no changes will happen here.
66-
set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${CROSS_COMPILE_SUPPORT_LIBRARIES})
9+
fetch_mlpack(ON)
6710

6811
add_executable(RandomForest main.cpp ${SOURCES_FILES})
6912
target_sources(RandomForest PRIVATE ${SOURCE_FILES})
7013

7114
target_include_directories(RandomForest PRIVATE
7215
${MLPACK_INCLUDE_DIRS}
73-
/meta/mlpack/src/
7416
)
7517

7618
target_link_libraries(RandomForest PRIVATE -static

0 commit comments

Comments
 (0)