|
| 1 | +cmake_minimum_required(VERSION 3.8) |
| 2 | + |
| 3 | +project("gifApp" CSharp) |
| 4 | + |
| 5 | +set(BASE_SRC_DIR ${PROJECT_SOURCE_DIR} CACHE STRING "BASE_SRC_DIR.") |
| 6 | + |
| 7 | +#set(NET_VER_DIR "net35" CACHE STRING "BASE_SRC_DIR.") |
| 8 | +set(NET_VER_DIR "net40" CACHE STRING "BASE_SRC_DIR.") |
| 9 | +#set(NET_VER_DIR "net45" CACHE STRING "BASE_SRC_DIR.") |
| 10 | +#set(NET_VER_DIR "netstandard2.0" CACHE STRING "BASE_SRC_DIR.") |
| 11 | + |
| 12 | +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDYZ_DBG") |
| 13 | + |
| 14 | +include(CSharpUtilities) |
| 15 | + |
| 16 | +file(GLOB GIF_DLL_SRC src/AnimatedGifEncoder.cs src/AssemblyInfo.cs src/GifDecoder.cs src/LZWEncoder.cs src/NeuQuant.cs) |
| 17 | +file(GLOB GIF_APP_SRC ExampleMain.cs) |
| 18 | + |
| 19 | +add_library(libgif STATIC ${GIF_DLL_SRC}) |
| 20 | +add_executable(gifApp ${GIF_APP_SRC} ${GIF_DLL_SRC}) |
| 21 | + |
| 22 | +# Set the .NET Framework version for the executable. |
| 23 | +# set_property(TARGET gifApp PROPERTY VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.6.1") |
| 24 | + |
| 25 | +# Set the executable to be 32-bit. |
| 26 | +set_property(TARGET libgif PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS TRUE) |
| 27 | +set_property(TARGET gifApp PROPERTY WIN32_EXECUTABLE TRUE) |
| 28 | + |
| 29 | + |
| 30 | +# Set the C# language version (defaults to 3.0). |
| 31 | +set(CMAKE_CSharp_FLAGS "/langversion:latest") |
| 32 | + |
| 33 | +#csharp_set_windows_forms_properties() |
| 34 | + |
| 35 | +# target_link_libraries(gifApp libgif) |
| 36 | + |
| 37 | +# If necessary, link in other library/DLL references, such as 3rd party libraries. |
| 38 | +# set_property(TARGET gifApp PROPERTY VS_DOTNET_REFERENCE_gif lib/${NET_VER_DIR}/libgif.dll) |
| 39 | + |
| 40 | +# Add in the .NET reference libraries. |
| 41 | +set_property(TARGET libgif PROPERTY VS_DOTNET_REFERENCES |
| 42 | + "Microsoft.CSharp" |
| 43 | + "System" |
| 44 | + "System.Core" |
| 45 | + "System.Data" |
| 46 | + "System.Drawing" |
| 47 | + "System.Windows.Forms" |
| 48 | +) |
| 49 | +set_property(TARGET gifApp PROPERTY VS_DOTNET_REFERENCES |
| 50 | + "Microsoft.CSharp" |
| 51 | + "System" |
| 52 | + "System.Core" |
| 53 | + "System.Data" |
| 54 | + "System.Drawing" |
| 55 | + "System.Windows.Forms" |
| 56 | +) |
| 57 | +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/Release") |
| 58 | + |
| 59 | + |
0 commit comments