From 4d01a1dee135a7489b51093546ea41aa64f15352 Mon Sep 17 00:00:00 2001
From: Paul Dechamps <paul.dechamps@uliege.be>
Date: Fri, 31 Jan 2025 11:36:33 +0100
Subject: [PATCH] (ci) Modified rules for installation path

Instead of forcing installation to be in site_packages/dartflo, cmake checks if the project
is the main project or not. If not, the installation is handled by the top package.
---
 CMakeLists.txt | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ec130f6..01274d0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,15 +97,15 @@ INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) # to find "amfe_def.h"
 ENABLE_TESTING()
 
 # -- INSTALL
+# Check if the project is the main project and the installation path is not specified
+IF(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND NOT(CMAKE_INSTALL_PREFIX MATCHES "dartflo$"))
+    SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/dartflo" CACHE STRING "Install location" FORCE)
+ENDIF()
 IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
     EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -m site --user-site OUTPUT_VARIABLE PY_SITE OUTPUT_STRIP_TRAILING_WHITESPACE)
     STRING(REGEX REPLACE "\\\\" "/" PY_SITE ${PY_SITE})
     SET(CMAKE_INSTALL_PREFIX "${PY_SITE}/dartflo" CACHE STRING "Install location" FORCE)
     SET(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT FALSE)
-ELSE()
-    IF(NOT(CMAKE_INSTALL_PREFIX MATCHES "dartflo$"))
-        SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/dartflo" CACHE STRING "Install location" FORCE)
-    ENDIF()
 ENDIF()
 IF(UNIX AND NOT APPLE)
     SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}")
@@ -116,7 +116,7 @@ ADD_SUBDIRECTORY( ext )
 ADD_SUBDIRECTORY( dart )
 
 # -- FINAL
-MESSAGE(STATUS "PROJECT: ${CMAKE_PROJECT_NAME}")
+MESSAGE(STATUS "PROJECT: ${PROJECT_NAME}")
 MESSAGE(STATUS "* SYSTEM NAME=\"${CMAKE_SYSTEM_NAME}\"")
 MESSAGE(STATUS "* CXX COMPILER: ${CMAKE_CXX_COMPILER_ID}")
 MESSAGE(STATUS "* CXX STANDARD: ${CMAKE_CXX_STANDARD}")
-- 
GitLab