PROJECT (Chicken) SET(STD_C_FLAGS "-DC_DEFAULT_TARGET_STACK_SIZE=300000 -DC_NO_PIC_NO_DLL -DHAVE_LOADLIBRARY -DHAVE_GETPROCADDRESS -DHAVE_WINDOWS_H") SET(SHARED_LIB_FLAGS "-DC_BUILDING_LIBCHICKEN -DPIC ${STD_C_FLAGS}") SET(STATIC_LIB_FLAGS "-DC_BUILDING_LIBCHICKEN -DPIC ${STD_C_FLAGS}") SET(SHARED_EXE_FLAGS "-DPIC ${STD_C_FLAGS}") SET (CHICKEN_LIB_SOURCES runtime.c library.c eval.c profiler.c scheduler.c extras.c match-support.c lolevel.c stub.c tinyclos.c pregexp.c utils.c tcp.c posixwin.c srfi-1.c srfi-4.c srfi-13.c srfi-14.c srfi-18.c) SET_SOURCE_FILES_PROPERTIES(${CHICKEN_LIB_SOURCES} PROPERTIES COMPILE_FLAGS "${SHARED_LIB_FLAGS}") ADD_LIBRARY(chicken_lib SHARED ${CHICKEN_LIB_SOURCES}) TARGET_LINK_LIBRARIES(chicken_lib ws2_32) SET_TARGET_PROPERTIES(chicken_lib PROPERTIES LINK_FLAGS "/nologo /implib:libchicken.lib /dll") SET (CHICKEN_EXE_SOURCES chicken.c support.c partition.c easyffi.c compiler.c optimizer.c batch-driver.c c-platform.c c-backend.c chicken.rc) SET_SOURCE_FILES_PROPERTIES(${CHICKEN_EXE_SOURCES} PROPERTIES COMPILE_FLAGS "${SHARED_EXE_FLAGS}") ADD_EXECUTABLE(chicken_exe ${CHICKEN_EXE_SOURCES}) TARGET_LINK_LIBRARIES(chicken_exe libchicken) SET_TARGET_PROPERTIES(chicken_exe PROPERTIES OUTPUT_NAME chicken) ADD_CUSTOM_COMMAND(OUTPUT csi.c COMMAND chicken.exe ARGS csi.scm -optimize-level 2 -debug-level 0 -quiet -output-file csi.c -prologue build.scm DEPENDS chicken.exe) SET_SOURCE_FILES_PROPERTIES(csi.c PROPERTIES GENERATED true COMPILE_FLAGS "${SHARED_EXE_FLAGS}") ADD_EXECUTABLE(csi csi.c) TARGET_LINK_LIBRARIES(csi libchicken) ADD_CUSTOM_COMMAND(OUTPUT csc.c COMMAND chicken.exe ARGS csc.scm.in -optimize-level 2 -debug-level 0 -quiet -output-file csc.c DEPENDS chicken.exe) SET_SOURCE_FILES_PROPERTIES(csc.c PROPERTIES GENERATED true COMPILE_FLAGS "${SHARED_EXE_FLAGS}") ADD_EXECUTABLE(csc csc.c) TARGET_LINK_LIBRARIES(csc libchicken) ADD_CUSTOM_COMMAND(OUTPUT chicken-profile.c COMMAND chicken.exe ARGS chicken-profile.scm -optimize-level 2 -debug-level 0 -quiet -output-file chicken-profile.c DEPENDS chicken.exe) SET_SOURCE_FILES_PROPERTIES(chicken-profile.c PROPERTIES GENERATED true COMPILE_FLAGS "${SHARED_EXE_FLAGS}") ADD_EXECUTABLE(chicken_profile chicken-profile.c) TARGET_LINK_LIBRARIES(chicken_profile libchicken) ADD_CUSTOM_COMMAND(OUTPUT chicken-setup.c COMMAND chicken.exe ARGS chicken-setup.scm -optimize-level 2 -debug-level 0 -quiet -output-file chicken-setup.c DEPENDS chicken.exe) SET_SOURCE_FILES_PROPERTIES(chicken-setup.c PROPERTIES GENERATED true COMPILE_FLAGS "${SHARED_EXE_FLAGS}") ADD_EXECUTABLE(chicken_setup chicken-setup.c) TARGET_LINK_LIBRARIES(chicken_setup libchicken)