mirror of
https://github.com/sarah-walker-pcem/pcem.git
synced 2025-07-23 19:50:35 +02:00
[skip ci] More Meson Stuff
This commit is contained in:
61
README.md
61
README.md
@@ -16,53 +16,50 @@ You will need the following libraries and buildtools (and their dependencies):
|
||||
- SDL2
|
||||
- wxWidgets 3.x
|
||||
- OpenAL
|
||||
- CMake
|
||||
- Ninja (Recommended, but you can use a Makefile generator if you prefer)
|
||||
- Meson
|
||||
- Ninja
|
||||
|
||||
Open a terminal window, navigate to the PCem directory then enter:
|
||||
### Linux/BSD
|
||||
```
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release .
|
||||
meson --buildtype release build
|
||||
cd build
|
||||
ninja
|
||||
meson install --destdir=install
|
||||
```
|
||||
|
||||
### Windows (MSYS2)
|
||||
then `./install/bin/pcem` to run.
|
||||
|
||||
The Linux/BSD versions store BIOS ROM images, configuration files, and other data in `~/.pcem`.
|
||||
|
||||
Meson configure options are :
|
||||
```
|
||||
cmake -G "Ninja" -DMSYS=TRUE -DCMAKE_BUILD_TYPE=Release .
|
||||
ninja
|
||||
--buildtype release : Generate release build. Recommended for regular use.
|
||||
--buildtype debug : Compile with debugging enabled.
|
||||
-Duse-networking=true : Build with networking support.
|
||||
-Duse-pcap-networking=true : Build with pcap networking support. (On by default needs USE_NETWORKING to compile) Requires libpcap
|
||||
-Duse-alsa=true : Build with support for MIDI output through ALSA. Requires libasound.
|
||||
-Duse-plugin-engine=true : Build with plugin support. Builds libpcem-plugin-api and links PCem with it.
|
||||
```
|
||||
|
||||
then `./src/pcem` to run.
|
||||
|
||||
The Linux/BSD versions store BIOS ROM images, configuration files, and other data in `~/.pcem`
|
||||
|
||||
configure options are :
|
||||
If you are using --buildtype debug, there are some more debug options you can enable if needed
|
||||
```
|
||||
-DCMAKE_BUILD_TYPE=Release : Generate release build. Recommended for regular use.
|
||||
-DCMAKE_BUILD_TYPE=Debug : Compile with debugging enabled.
|
||||
-DUSE_NETWORKING=ON : Build with networking support.
|
||||
-DUSE_PCAP_NETWORKING=ON : Build with pcap networking support. (On by default needs USE_NETWORKING to compile) Requires libpcap
|
||||
-DUSE_ALSA=ON : Build with support for MIDI output through ALSA. Requires libasound.
|
||||
-DPLUGIN_ENGINE=ON : Build with plugin support. Builds libpcem-plugin-api and links PCem with it.
|
||||
-Dslirp-debug=true : Build PCem with SLIRP_DEBUG debug output
|
||||
-Drecompiler-debug=true : Build PCem with RECOMPILER_DEBUG debug output
|
||||
-Dne2000-debug=true : Build PCem with NE2000_DEBUG debug output
|
||||
-Demu8k-debug-registers=true : Build PCem with EMU8K_DEBUG_REGISTERS debug output
|
||||
-Dsb-dsp-record-debug=true : Build PCem with SB_DSP_RECORD_DEBUG debug output
|
||||
-Dmach64-debug=true : Build PCem with MACH64_DEBUG debug output
|
||||
-Dplugin-debug=true : Build PCem with PLUGIN_DEBUG debug output
|
||||
-Dextra-debug=true : Build PCem with DEBUG_EXTRA debug output
|
||||
-Dprinter-debug=true : Build PCem with PRINTER_DEBUG debug output
|
||||
```
|
||||
|
||||
If you are using -DCMAKE_BUILD_TYPE=Debug, there are some more debug options you can enable if needed
|
||||
```
|
||||
-DPCEM_SLIRP_DEBUG=ON : Build PCem with SLIRP_DEBUG debug output
|
||||
-DPCEM_RECOMPILER_DEBUG=ON : Build PCem with RECOMPILER_DEBUG debug output
|
||||
-DPCEM_NE2000_DEBUG=ON : Build PCem with NE2000_DEBUG debug output
|
||||
-DPCEM_EMU8K_DEBUG_REGISTERS=ON : Build PCem with EMU8K_DEBUG_REGISTERS debug output
|
||||
-DPCEM_SB_DSP_RECORD_DEBUG=ON : Build PCem with SB_DSP_RECORD_DEBUG debug output
|
||||
-DPCEM_MACH64_DEBUG=ON : Build PCem with MACH64_DEBUG debug output
|
||||
-DPCEM_DEBUG_EXTRA=ON : Build PCem with DEBUG_EXTRA debug output
|
||||
```
|
||||
|
||||
They are some extra modules you can add if you build with `-DUSE_EXPERIMENTAL=ON`. These modules are untested.
|
||||
They are some extra modules you can add if you build with `-Dallow-experimental-code=true`. These modules are untested.
|
||||
incomplete, and may or may not be in a future build of PCem. We do not provide builds with these enabled as
|
||||
well.
|
||||
```
|
||||
-DUSE_EXPERIMENTAL_PGC=ON : Build PCem with Professional Graphics Controller support.
|
||||
-DUSE_EXPERIMENTAL_PRINTER=ON : Build PCem with Printer support. Requires freetype.
|
||||
-Duse-experimental-pdc=true : Build PCem with Professional Graphics Controller support.
|
||||
-Duse-experimental-printer=true : Build PCem with Printer support. Requires freetype.
|
||||
```
|
||||
The menu is a pop-up menu in the Linux/BSD port. Right-click on the main window when mouse is not
|
||||
captured.
|
||||
|
@@ -1,51 +1,48 @@
|
||||
#install(TARGETS pcem RUNTIME DESTINATION bin)
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/430vx')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/acer386')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ami286')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ami386')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ami386dx')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ami486')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/amixt')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/cbm_pc10')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/cmdpc30')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/dells200')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/deskpro386')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/dtk')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/dtk386')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/endeavor')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/europc')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/genxt')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/hot-433')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/huyndaixt')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/huyndaixte')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ibmat')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ibmpc')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ibmpcjr')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ibmps1es')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ibmxt')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/jukopc')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/ltxt')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/lxt3')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/mach64gx')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/megapc')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/mr386dx')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/olivetti_m24')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/oti067')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/pc1512')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/pc1640')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/pc200')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/pc2086')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/pc3086')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/px386')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/pxxt')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/revenge')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/sis496')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/tandy')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/tandy1000hx')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/tandy1000sl2')
|
||||
install_data('roms.txt', install_dir: get_option('datadir') / 'roms/win486')
|
||||
install_data('configs.txt', install_dir: get_option('datadir') / 'configs')
|
||||
install_man('pcem.man.1')
|
||||
|
||||
#install(DIRECTORY ${CMAKE_SOURCE_DIR}/nvr/ DESTINATION share/pcem/nvr/default)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/430vx)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/acer386)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ami286)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ami386)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ami386dx)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ami486)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/amixt)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/cbm_pc10)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/cmdpc30)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/dells200)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/deskpro386)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/dtk)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/dtk386)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/endeavor)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/europc)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/genxt)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/hot-433)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/huyndaixt)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/huyndaixte)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ibmat)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ibmpc)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ibmpcjr)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ibmps1es)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ibmxt)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/jukopc)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/ltxt)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/lxt3)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/mach64gx)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/megapc)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/mr386dx)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/olivetti_m24)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/oti067)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/pc1512)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/pc1640)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/pc200)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/pc2086)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/pc3086)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/px386)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/pxxt)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/revenge)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/sis496)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/tandy)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/tandy1000hx)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/tandy1000sl2)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/roms.txt DESTINATION share/pcem/roms/win486)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/configs.txt DESTINATION share/pcem/configs)
|
||||
#install(FILES ${CMAKE_SOURCE_DIR}/docs/pcem.man DESTINATION share/man/man1)
|
||||
#install(DIRECTORY ${CMAKE_SOURCE_DIR}/includes/public/ DESTINATION include FILES_MATCHING PATTERN *.h)
|
@@ -46,4 +46,6 @@ pcem_include_dirs = include_directories(
|
||||
'private/video',
|
||||
'private/wx-ui',
|
||||
'public'
|
||||
)
|
||||
)
|
||||
|
||||
install_subdir('public', install_dir: get_option('includedir') / 'pcem', strip_directory : true)
|
@@ -5,13 +5,14 @@ add_project_arguments('-DPCEM_VERSION_STRING="' + meson.project_version() + '"',
|
||||
pcem_private_api = []
|
||||
pcem_public_api = []
|
||||
pcem_src = []
|
||||
pcem_project_libraries = []
|
||||
|
||||
subdir('includes')
|
||||
|
||||
compiler = meson.get_compiler('c')
|
||||
sdl2 = dependency('sdl2')
|
||||
openal = dependency('openal')
|
||||
opengl = dependency('opengl')
|
||||
opengl = dependency('gl')
|
||||
wxwidgets = dependency('wxwidgets')
|
||||
|
||||
pcem_dependencies = [sdl2, openal, opengl, wxwidgets]
|
||||
@@ -23,4 +24,6 @@ endif
|
||||
add_project_arguments('-fcommon', language: ['c', 'cpp'])
|
||||
|
||||
subdir('docs')
|
||||
subdir('src')
|
||||
subdir('src')
|
||||
|
||||
install_subdir('nvr', install_dir: get_option('datadir') / 'nvr/default', strip_directory : true)
|
@@ -5,3 +5,13 @@ option('use-alsa', type: 'boolean', value: false, description: 'Build PCem with
|
||||
option('allow-experimental-code', type: 'boolean', value: false, description: 'Build PCem with experimental code.')
|
||||
option('use-experimental-pdc', type: 'boolean', value: false, description: 'Build Professional Graphics Controller Support. Need to allow experimental code for this option to work.')
|
||||
option('use-experimental-printer', type: 'boolean', value: false, description: 'Build Printer Support. Need to allow experimental code for this option to work.')
|
||||
|
||||
option('slirp-debug', type: 'boolean', value: false, description: 'Build PCem with SLIRP_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
option('recompiler-debug', type: 'boolean', value: false, description: 'Build PCem with RECOMPILER_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
option('ne2000-debug', type: 'boolean', value: false, description: 'Build PCem with NE2000_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
option('emu8k-debug-registers', type: 'boolean', value: false, description: 'Build PCem with EMU8K_DEBUG_REGISTERS debug output. Needs to be a debug build to do anything.')
|
||||
option('sb-dsp-record-debug', type: 'boolean', value: false, description: 'Build PCem with SB_DSP_RECORD_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
option('mach64-debug', type: 'boolean', value: false, description: 'Build PCem with MACH64_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
option('plugin-debug', type: 'boolean', value: false, description: 'Build PCem with PLUGIN_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
option('extra-debug', type: 'boolean', value: false, description: 'Build PCem with DEBUG_EXTRA debug output. Needs to be a debug build to do anything.')
|
||||
option('printer-debug', type: 'boolean', value: false, description: 'Build PCem with PRINTER_DEBUG debug output. Needs to be a debug build to do anything.')
|
||||
|
@@ -1,33 +1,31 @@
|
||||
#if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} DEBUG)
|
||||
#
|
||||
# if(PCEM_SLIRP_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} SLIRP_DEBUG)
|
||||
# endif()
|
||||
# if(PCEM_RECOMPILER_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} RECOMPILER_DEBUG)
|
||||
# endif()
|
||||
# if(PCEM_NE2000_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} NE2000_DEBUG)
|
||||
# endif()
|
||||
# if(PCEM_EMU8K_DEBUG_REGISTERS)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} EMU8K_DEBUG_REGISTERS)
|
||||
# endif()
|
||||
# if(PCEM_SB_DSP_RECORD_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} SB_DSP_RECORD_DEBUG)
|
||||
# endif()
|
||||
# if(PCEM_MACH64_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} MACH64_DEBUG)
|
||||
# endif()
|
||||
# if(PCEM_NE2000_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} NE2000_DEBUG)
|
||||
# endif()
|
||||
# if(PCEM_DEBUG_EXTRA)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} DEBUG_EXTRA)
|
||||
# endif()
|
||||
# if(PCEM_PRINTER_DEBUG)
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} PRINTER_DEBUG)
|
||||
# endif()
|
||||
#else()
|
||||
# set(PCEM_DEFINES ${PCEM_DEFINES} RELEASE_BUILD)
|
||||
#endif()
|
||||
if get_option('buildtype').startswith('debug')
|
||||
if get_option('slirp-debug')
|
||||
add_project_arguments('-DSLIRP_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('recompiler-debug')
|
||||
add_project_arguments('-DRECOMPILER_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('ne2000-debug')
|
||||
add_project_arguments('-DNE2000_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('emu8k-debug-registers')
|
||||
add_project_arguments('-DEMU8K_DEBUG_REGISTERS', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('sb-dsp-record-debug')
|
||||
add_project_arguments('-DSB_DSP_RECORD_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('mach64-debug')
|
||||
add_project_arguments('-DMACH64_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('plugin-debug')
|
||||
add_project_arguments('-DPLUGIN_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('extra-debug')
|
||||
add_project_arguments('-DDEBUG_EXTRA', language: ['c', 'cpp'])
|
||||
endif
|
||||
if get_option('printer-debug')
|
||||
add_project_arguments('-DPRINTER_DEBUG', language: ['c', 'cpp'])
|
||||
endif
|
||||
else
|
||||
add_project_arguments('-DRELEASE_BUILD', language: ['c', 'cpp'])
|
||||
endif
|
@@ -42,4 +42,4 @@ pcem_src += files(
|
||||
|
||||
subdir('plugin-api')
|
||||
|
||||
executable('pcem', pcem_src, dependencies: pcem_dependencies, include_directories: pcem_include_dirs)
|
||||
executable('pcem', pcem_src, dependencies: pcem_dependencies, link_with: pcem_project_libraries, include_directories: pcem_include_dirs, install: true, win_subsystem: 'windows')
|
||||
|
@@ -26,7 +26,8 @@ pcem_pluginapi_src = files(
|
||||
)
|
||||
|
||||
if get_option('use-plugin-engine')
|
||||
# Create Library Here and link to main EXE
|
||||
pcem_plugin_api = shared_library('pcem', sources: pcem_pluginapi_src, dependencies: pcem_dependencies, include_directories: pcem_include_dirs, install: true)
|
||||
pcem_project_libraries += pcem_plugin_api
|
||||
else
|
||||
pcem_src += pcem_pluginapi_src
|
||||
endif
|
@@ -40,7 +40,11 @@ void load_plugins()
|
||||
tinydir_file file;
|
||||
tinydir_readfile(&dir, &file);
|
||||
|
||||
if (!strcmp(file.extension, "pcem"))
|
||||
#if defined(linux)
|
||||
if (!strcmp(file.extension, "so"))
|
||||
#elif defined(WIN32)
|
||||
if (!strcmp(file.extension, "dll"))
|
||||
#endif
|
||||
{
|
||||
pclog("plugin loading: %s\n", file.name);
|
||||
void (* initialize_loaded_plugin)();
|
||||
|
Reference in New Issue
Block a user