diff cmake/IrccdSystem.cmake @ 101:113d909fdfe1

CMake: disallow absolute paths, #389
author David Demelier <markand@malikania.fr>
date Mon, 25 Apr 2016 21:16:47 +0200
parents 1125d90b3b44
children bc291b131f6a
line wrap: on
line diff
--- a/cmake/IrccdSystem.cmake	Fri Apr 22 18:50:00 2016 +0200
+++ b/cmake/IrccdSystem.cmake	Mon Apr 25 21:16:47 2016 +0200
@@ -68,6 +68,12 @@
 	set(IRCCD_64BITS FALSE)
 endif ()
 
+set(IRCCD_FAKEROOTDIR ${CMAKE_BINARY_DIR}/fakeroot)
+
+if (NOT EXISTS ${IRCCD_FAKEROOTDIR})
+	file(MAKE_DIRECTORY ${IRCCD_FAKEROOTDIR})
+endif ()
+
 # ---------------------------------------------------------
 # System identification
 # ---------------------------------------------------------
@@ -250,22 +256,7 @@
 check_struct_has_member("struct stat" st_uid sys/stat.h HAVE_STAT_ST_UID)
 
 # Configuration file.
-file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/irccd)
-
 configure_file(
 	${CMAKE_CURRENT_LIST_DIR}/internal/sysconfig.hpp.in
-	${CMAKE_BINARY_DIR}/irccd/sysconfig.hpp
-)
-
-install(
-	FILES ${CMAKE_BINARY_DIR}/irccd/sysconfig.hpp
-	DESTINATION include/irccd
+	${IRCCD_FAKEROOTDIR}/include/irccd/sysconfig.hpp
 )
-
-# Also copy to fakedir if possible
-if (IRCCD_RELOCATABLE)
-	file(
-		COPY ${CMAKE_BINARY_DIR}/irccd/sysconfig.hpp
-		DESTINATION ${IRCCD_FAKEDIR}/include/irccd
-	)
-endif ()