diff --git a/src/sbbs3/CMakeLists.txt b/src/sbbs3/CMakeLists.txt index 6ec3899cc154bb130c6c19156e5adf4e6deb7c1f..0f60a7b2d204ab6d7244c00db973cef4078c78c6 100644 --- a/src/sbbs3/CMakeLists.txt +++ b/src/sbbs3/CMakeLists.txt @@ -16,6 +16,9 @@ add_subdirectory(gtkchat) add_subdirectory(gtkmonitor) add_subdirectory(gtkuseredit) add_subdirectory(gtkuserlist) +add_subdirectory(syncview) +add_subdirectory(uedit) +add_subdirectory(umonitor) macro(require_lib_dir TARGET LIB LIBDIR) if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_LIST_DIR}") @@ -177,7 +180,7 @@ set(SBBS_OBJS str_util telgate telnet - text_defaults + text_defaults.c text_sec tmp_xfer un_qwk @@ -256,6 +259,7 @@ if(NOT WIN32) endif() add_executable(sbbscon sbbscon.c sbbs_ini.c) +target_compile_definitions(sbbscon PRIVATE SBBS SBBS_EXPORTS JAVASCRIPT) set_target_properties(sbbscon PROPERTIES OUTPUT_NAME sbbs) require_lib(sbbscon xpdev) require_lib(sbbscon smblib) @@ -264,8 +268,44 @@ target_link_libraries(sbbscon mailsrvr) target_link_libraries(sbbscon websrvr) target_link_libraries(sbbscon services) target_link_libraries(sbbscon sbbs) +target_include_directories(sbbscon PRIVATE ../comio) if(NOT WIN32) - add_dependencies(sbbs 3rdp) + add_dependencies(sbbscon 3rdp) +endif() + +if(WIN32) + add_executable(ntsvcs ntsvcs.c sbbs_ini.c) + target_compile_definitions(ntsvcs PRIVATE SBBS SBBS_EXPORTS JAVASCRIPT) + set_target_properties(ntsvcs PROPERTIES OUTPUT_NAME sbbs) + require_lib(ntsvcs xpdev) + require_lib(ntsvcs smblib) + target_link_libraries(ntsvcs ftpsrvr) + target_link_libraries(ntsvcs mailsrvr) + target_link_libraries(ntsvcs websrvr) + target_link_libraries(ntsvcs services) + target_link_libraries(ntsvcs sbbs) + target_include_directories(ntsvcs PRIVATE ../comio) +endif() + +add_executable(jsexec + jsexec.c + js_uifc.c + js_conio.c + jsdebug.c +) +target_compile_definitions(jsexec PRIVATE SBBS SBBS_EXPORTS JAVASCRIPT) +require_lib(jsexec xpdev) +require_lib(jsexec smblib) +require_lib_dir(jsexec ciolib conio) +require_lib(jsexec uifc) +target_link_libraries(jsexec ftpsrvr) +target_link_libraries(jsexec mailsrvr) +target_link_libraries(jsexec websrvr) +target_link_libraries(jsexec services) +target_link_libraries(jsexec sbbs) +target_include_directories(jsexec PRIVATE ../comio) +if(NOT WIN32) + add_dependencies(jsexec 3rdp) endif() #### @@ -279,6 +319,8 @@ if(WIN32) target_include_directories(services PRIVATE ../../3rdp/win32.release/mozjs/include) target_include_directories(sbbs PRIVATE ../../3rdp/win32.release/cryptlib/include) target_include_directories(sbbscon PRIVATE ../../3rdp/win32.release/mozjs/include) + target_include_directories(ntsvcs PRIVATE ../../3rdp/win32.release/mozjs/include) + target_include_directories(jsexec PRIVATE ../../3rdp/win32.release/mozjs/include) link_directories(../../3rdp/win32.release/mozjs/bin ../../3rdp/win32.release/cryptlib/bin) link_directories(../../3rdp/win32.release/nspr/bin) else() @@ -288,6 +330,7 @@ else() target_include_directories(websrvr PRIVATE ../../3rdp/${LEGACY_3RDPDIR}/mozjs/include/js) target_include_directories(sbbs PRIVATE ../../3rdp/${LEGACY_3RDPDIR}/mozjs/include/js) target_include_directories(sbbscon PRIVATE ../../3rdp/${LEGACY_3RDPDIR}/mozjs/include/js) + target_include_directories(jsexec PRIVATE ../../3rdp/${LEGACY_3RDPDIR}/mozjs/include/js) link_directories(../../3rdp/${LEGACY_3RDPDIR}/mozjs/lib) link_directories(../../3rdp/${LEGACY_3RDPDIR}/cl) execute_process(COMMAND nspr-config --cflags OUTPUT_VARIABLE NSPR_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -296,23 +339,31 @@ else() target_compile_options(sbbscon PRIVATE ${NSPR_CFLAGS}) target_include_directories(sbbscon PRIVATE ${NSPR_INCLUDE_DIR}) set_property(TARGET sbbscon APPEND PROPERTY LINK_FLAGS "${NSPR_LIBS}") + target_compile_options(jsexec PRIVATE ${NSPR_CFLAGS}) + target_include_directories(jsexec PRIVATE ${NSPR_INCLUDE_DIR}) + set_property(TARGET jsexec APPEND PROPERTY LINK_FLAGS "${NSPR_LIBS}") endif() # For forkpty... if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD") target_link_libraries(sbbscon util) + target_link_libraries(jsexec util) elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") target_link_libraries(sbbscon util) + target_link_libraries(jsexec util) elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") target_link_libraries(sbbscon util) + target_link_libraries(jsexec util) elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") target_link_libraries(sbbscon util) + target_link_libraries(jsexec util) endif() list(APPEND CMAKE_REQUIRED_LIBRARIES util) CHECK_FUNCTION_EXISTS(forkpty HAS_FORKPTY) if(HAS_FORKPTY) else() target_compile_definitions(sbbs PRIVATE NEEDS_FORKPTY) + target_compile_definitions(jsexec PRIVATE NEEDS_FORKPTY) endif() add_executable(baja baja.c ars.c) @@ -506,6 +557,11 @@ add_executable(asc2ans asc2ans.c ) +add_executable(textgen + textgen.c +) +require_lib(textgen xpdev) + install(TARGETS sbbscon baja