Commit 92dcb952 authored by Ramon Nou's avatar Ramon Nou
Browse files

Updating cmake options

parent 22dbe211
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -238,6 +238,16 @@ gkfs_define_option(
gkfs_define_option(
    GKFS_BUILD_USER_LIB
    HELP_TEXT "Compile user lib"
    DEFAULT_VALUE ON
)

gkfs_define_option(
    GKFS_BUILD_USER_LIB_AUTOINIT
    HELP_TEXT "Compile user lib autoinit"
    DEFAULT_VALUE ON
)


#build libc
gkfs_define_option(
    GKFS_BUILD_LIBC_INTERCEPTION
+81 −75
Original line number Diff line number Diff line
@@ -33,7 +33,13 @@
# ##############################################################################

add_library(gkfs_intercept SHARED)

if (GKFS_BUILD_USER_LIB)
	add_library(gkfs_user_lib SHARED)
	if(GKFS_BUILD_USER_LIB_AUTOINIT)
		add_library(gkfs_user_lib_autoinit SHARED)
	endif()
endif()

if (GKFS_BUILD_LIBC_INTERCEPTION)
    add_library(gkfs_libc_intercept SHARED)
@@ -43,7 +49,6 @@ if (GKFS_BUILD_LIBC_INTERCEPTION_MANUAL)
    add_library(gkfs_libc_intercept_manual SHARED)
endif()

add_library(gkfs_user_lib_autoinit SHARED)

target_sources(gkfs_intercept
    PRIVATE gkfs_functions.cpp
@@ -66,7 +71,6 @@ target_sources(gkfs_intercept
    syscalls/detail/syscall_info.c)

if (GKFS_BUILD_USER_LIB)
add_library(gkfs_user_lib SHARED)
target_sources(
    gkfs_user_lib
    PRIVATE gkfs_functions.cpp
@@ -90,7 +94,7 @@ target_sources(
    rpc/forward_malleability.cpp
    syscalls/detail/syscall_info.c syscalls/util.S
)

if(GKFS_BUILD_USER_LIB_AUTOINIT)
	target_sources(
	    gkfs_user_lib_autoinit
	    PRIVATE gkfs_functions.cpp
@@ -114,6 +118,9 @@ target_sources(
	    rpc/forward_malleability.cpp
	    syscalls/detail/syscall_info.c syscalls/util.S
	)
	endif()
endif()

if (GKFS_BUILD_LIBC_INTERCEPTION)
target_sources(
    gkfs_libc_intercept
@@ -170,12 +177,14 @@ target_sources(
)
endif ()

if (GKFS_BUILD_USER_LIB)
target_compile_definitions(gkfs_user_lib PUBLIC BYPASS_SYSCALL)
target_link_options(gkfs_user_lib PRIVATE -z noexecstack)
endif() 

	if (GKFS_BUILD_USER_LIB_AUTOINIT)
	target_compile_definitions(gkfs_user_lib_autoinit PUBLIC BYPASS_SYSCALL ENABLE_INIT)
	target_link_options(gkfs_user_lib_autoinit PRIVATE -z noexecstack)
	endif()
endif()

if (GKFS_BUILD_LIBC_INTERCEPTION)
target_compile_definitions(gkfs_libc_intercept PUBLIC BYPASS_SYSCALL ENABLE_INIT)
@@ -225,6 +234,7 @@ target_link_libraries(
    Threads::Threads
    Microsoft.GSL::GSL
)
	if (GKFS_BUILD_USER_LIB_AUTOINIT)

	target_link_libraries(
	    gkfs_user_lib_autoinit
@@ -236,6 +246,8 @@ target_link_libraries(
	    Threads::Threads
	    Microsoft.GSL::GSL
	)
	endif()
endif()

if (GKFS_BUILD_LIBC_INTERCEPTION)
target_link_libraries(
@@ -289,33 +301,24 @@ install(
    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
)


if (GKFS_BUILD_USER_LIB)
	set_target_properties(gkfs_user_lib
 	   PROPERTIES
	    PUBLIC_HEADER "../../include/client/void_syscall_intercept.hpp"
	    PUBLIC_HEADER "../../include/client/user_functions.hpp"
	)

set_target_properties(gkfs_user_lib_autoinit
    PROPERTIES
    PUBLIC_HEADER "../../include/client/void_syscall_intercept.hpp"
    PUBLIC_HEADER "../../include/client/user_functions.hpp"
)


	install(
	    TARGETS gkfs_user_lib
	    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
	    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
	    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
	)
endif()

install(
    TARGETS gkfs_intercept
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
	if (GKFS_BUILD_USER_LIB_AUTOINIT)
	set_target_properties(gkfs_user_lib_autoinit
	    PROPERTIES
	    PUBLIC_HEADER "../../include/client/void_syscall_intercept.hpp"
	    PUBLIC_HEADER "../../include/client/user_functions.hpp"
	)
	
	install(
@@ -325,6 +328,9 @@ install(
    	PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
	)

	endif()
endif()

if (GKFS_BUILD_LIBC_INTERCEPTION)
set_target_properties(gkfs_libc_intercept
    PROPERTIES