11################################################################################
2- cmake_minimum_required ( VERSION 3.1 )
3- project (polyfempy )
4- # ###############################################################################
2+ # Check required CMake version
3+ set (REQUIRED_CMAKE_VERSION "3.14.0" )
4+ cmake_minimum_required ( VERSION ${REQUIRED_CMAKE_VERSION} )
55
6- if (INPUT_THIRD_PARTY_DIR )
7- set (THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR} /${INPUT_THIRD_PARTY_DIR} / )
6+ if (INPUT_POLYFEMPY_DATA_ROOT )
7+ set (POLYFEMPY_DATA_ROOT " ${CMAKE_CURRENT_SOURCE_DIR} /${INPUT_POLYFEMPY_DATA_ROOT} /" )
88else ()
9- set (THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR} /3rdparty/)
9+ set (POLYFEMPY_DATA_ROOT "${CMAKE_CURRENT_SOURCE_DIR} /data/" )
10+ endif ()
11+ if (NOT EXISTS ${POLYFEMPY_DATA_ROOT} )
12+ file (MAKE_DIRECTORY ${POLYFEMPY_DATA_ROOT} )
1013endif ()
11- list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /cmake)
14+
15+ project (polyfempy)
16+ ################################################################################
17+
18+ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
19+ list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake/recipes/" )
1220
1321# Color output
1422include (UseColors )
1523
1624# Prepend function
1725include (PrependCurrentPath )
1826
19-
2027# Extra warnings
2128include (Warnings )
2229
@@ -29,38 +36,24 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
2936# Generate position independent code by default
3037set (CMAKE_POSITION_INDEPENDENT_CODE ON )
3138
32- ################################################################################
33-
34-
35- # Setup dependencies
36- include (PolyfemPythonDependencies )
37-
3839################################################################################
3940# Polyfem library
4041################################################################################
4142
42-
43-
44-
45- # polyfem
46- polyfem_python_download_polyfem ()
47- add_subdirectory (${THIRD_PARTY_DIR} /polyfem )
48-
49- # pybind11
50- polyfem_python_download_pybind11 ()
51- add_subdirectory (${THIRD_PARTY_DIR} /pybind11 )
52-
43+ # dependencies
44+ include (polyfem )
45+ include (pybind11 )
46+ include (pybind11_json )
5347
5448#for testing purpose
55- polyfem_python_download_data ()
56-
49+ include (polyfem_data )
5750
5851################################################################################
5952# Subdirectories
6053################################################################################
61- add_library (polyfempy MODULE src/binding.cpp )
62- target_link_libraries (polyfempy PRIVATE polyfem )
63- target_link_libraries ( polyfempy PRIVATE pybind11::module )
54+ add_library (polyfempy MODULE src/binding.cpp src/raster.cpp )
55+ target_link_libraries (polyfempy PRIVATE polyfem::polyfem pybind11::module pybind11::json )
56+
6457set_target_properties (polyfempy PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX} " SUFFIX "${PYTHON_MODULE_EXTENSION} " )
6558
6659
0 commit comments