Skip to content

Commit 5897866

Browse files
Merge pull request #716 from genn-team/disable_constexpr_mutex_constructor
define _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR everywhere
2 parents 6a3854e + 28f8ea5 commit 5897866

File tree

6 files changed

+15
-15
lines changed

6 files changed

+15
-15
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
if WIN:
9191
# Turn off warnings about dll-interface being required for stuff to be
9292
# used by clients and prevent windows.h exporting TOO many awful macros
93-
genn_extension_kwargs["extra_compile_args"].extend(["/wd4251", "-DWIN32_LEAN_AND_MEAN", "-DNOMINMAX"])
93+
genn_extension_kwargs["extra_compile_args"].extend(["/wd4251", "-DWIN32_LEAN_AND_MEAN", "-DNOMINMAX", "-D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR"])
9494

9595
# Add include directory for FFI as it's built from source
9696
genn_extension_kwargs["include_dirs"].append(os.path.join(genn_third_party_include, "libffi"))

src/genn/backends/cuda/cuda_backend.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@
6363
<IntrinsicFunctions>true</IntrinsicFunctions>
6464
<SDLCheck>true</SDLCheck>
6565
<AdditionalIncludeDirectories>..\..\..\..\include\genn\backends\cuda;..\..\..\..\include\genn\genn;..\..\..\..\include\genn\third_party;..\..\..\..\include\genn\third_party\libffi;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
66-
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">_MBCS;WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;NOMINMAX;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
67-
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;_CRT_SECURE_NO_WARNINGS;NOMINMAX;BUILDING_BACKEND_DLL;LINKING_GENN_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
66+
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">_MBCS;WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;_CRT_SECURE_NO_WARNINGS;NOMINMAX;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
67+
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;_CRT_SECURE_NO_WARNINGS;NOMINMAX;BUILDING_BACKEND_DLL;LINKING_GENN_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
6868
<DisableSpecificWarnings Condition=" $(Configuration.Contains('DLL')) ">4251</DisableSpecificWarnings>
6969
<LanguageStandard>stdcpp17</LanguageStandard>
7070
<MultiProcessorCompilation>true</MultiProcessorCompilation>

src/genn/backends/single_threaded_cpu/single_threaded_cpu_backend.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@
6161
<IntrinsicFunctions>true</IntrinsicFunctions>
6262
<SDLCheck>true</SDLCheck>
6363
<AdditionalIncludeDirectories>..\..\..\..\include\genn\genn;..\..\..\..\include\genn\third_party;..\..\..\..\include\genn\third_party\libffi;..\..\..\..\include\genn\backends\single_threaded_cpu</AdditionalIncludeDirectories>
64-
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
65-
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;NOMINMAX;BUILDING_BACKEND_DLL;LINKING_GENN_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
64+
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;NOMINMAX;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
65+
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;NOMINMAX;BUILDING_BACKEND_DLL;LINKING_GENN_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
6666
<DisableSpecificWarnings Condition=" $(Configuration.Contains('DLL')) ">4251</DisableSpecificWarnings>
6767
<LanguageStandard>stdcpp17</LanguageStandard>
6868
<MultiProcessorCompilation>true</MultiProcessorCompilation>

src/genn/generator/generator.vcxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
<Optimization>Disabled</Optimization>
9595
<SDLCheck>$(BuildModelSDLCheck)</SDLCheck>
9696
<AdditionalIncludeDirectories>..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi;..\..\..\include\genn\backends\single_threaded_cpu;$(BuildModelInclude)</AdditionalIncludeDirectories>
97-
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=SingleThreadedCPU;BACKEND_NAME=single_threaded_cpu;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
97+
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;BACKEND_NAMESPACE=SingleThreadedCPU;BACKEND_NAME=single_threaded_cpu;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
9898
<LanguageStandard>stdcpp17</LanguageStandard>
9999
</ClCompile>
100100
<Link>
@@ -109,7 +109,7 @@
109109
<Optimization>Disabled</Optimization>
110110
<SDLCheck>$(BuildModelSDLCheck)</SDLCheck>
111111
<AdditionalIncludeDirectories>..\..\..\include\genn\backends\cuda;..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi;$(CUDA_PATH)\include;$(BuildModelInclude)</AdditionalIncludeDirectories>
112-
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=CUDA;BACKEND_NAME=cuda;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
112+
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=CUDA;BACKEND_NAME=cuda;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
113113
<LanguageStandard>stdcpp17</LanguageStandard>
114114
</ClCompile>
115115
<Link>
@@ -124,7 +124,7 @@
124124
<Optimization>Disabled</Optimization>
125125
<SDLCheck>true</SDLCheck>
126126
<AdditionalIncludeDirectories>..\..\..\include\genn\backends\opencl;..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi;$(OPENCL_PATH)\include;$(BuildModelInclude)</AdditionalIncludeDirectories>
127-
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=OpenCL;BACKEND_NAME=opencl;CL_HPP_TARGET_OPENCL_VERSION=120;CL_HPP_MINIMUM_OPENCL_VERSION=120;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
127+
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=OpenCL;BACKEND_NAME=opencl;CL_HPP_TARGET_OPENCL_VERSION=120;CL_HPP_MINIMUM_OPENCL_VERSION=120;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
128128
<LanguageStandard>stdcpp17</LanguageStandard>
129129
</ClCompile>
130130
<Link>
@@ -141,7 +141,7 @@
141141
<IntrinsicFunctions>true</IntrinsicFunctions>
142142
<SDLCheck>$(BuildModelSDLCheck)</SDLCheck>
143143
<AdditionalIncludeDirectories>..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi;..\..\..\include\genn\backends\single_threaded_cpu;$(BuildModelInclude)</AdditionalIncludeDirectories>
144-
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=SingleThreadedCPU;BACKEND_NAME=single_threaded_cpu;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
144+
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=SingleThreadedCPU;BACKEND_NAME=single_threaded_cpu;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
145145
<LanguageStandard>stdcpp17</LanguageStandard>
146146
</ClCompile>
147147
<Link>
@@ -160,7 +160,7 @@
160160
<IntrinsicFunctions>true</IntrinsicFunctions>
161161
<SDLCheck>$(BuildModelSDLCheck)</SDLCheck>
162162
<AdditionalIncludeDirectories>..\..\..\include\genn\backends\cuda;..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi;$(CUDA_PATH)\include;$(BuildModelInclude)</AdditionalIncludeDirectories>
163-
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=CUDA;BACKEND_NAME=cuda;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
163+
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;_CRT_SECURE_NO_WARNINGS;BACKEND_NAMESPACE=CUDA;BACKEND_NAME=cuda;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
164164
<LanguageStandard>stdcpp17</LanguageStandard>
165165
</ClCompile>
166166
<Link>
@@ -179,7 +179,7 @@
179179
<IntrinsicFunctions>true</IntrinsicFunctions>
180180
<SDLCheck>true</SDLCheck>
181181
<AdditionalIncludeDirectories>..\..\..\include\genn\backends\opencl;..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi;$(OPENCL_PATH)\include;$(BuildModelInclude)</AdditionalIncludeDirectories>
182-
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;_CRT_SECURE_NO_WARNINGS;FFI_BUILDING;BACKEND_NAMESPACE=OpenCL;BACKEND_NAME=opencl;CL_HPP_TARGET_OPENCL_VERSION=120;CL_HPP_MINIMUM_OPENCL_VERSION=120;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
182+
<PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;FFI_BUILDING;BACKEND_NAMESPACE=OpenCL;BACKEND_NAME=opencl;CL_HPP_TARGET_OPENCL_VERSION=120;CL_HPP_MINIMUM_OPENCL_VERSION=120;%(PreprocessorDefinitions);MODEL="$(ModelFile)"</PreprocessorDefinitions>
183183
<LanguageStandard>stdcpp17</LanguageStandard>
184184
</ClCompile>
185185
<Link>

src/genn/genn/genn.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,8 @@
170170
<IntrinsicFunctions>true</IntrinsicFunctions>
171171
<SDLCheck>true</SDLCheck>
172172
<AdditionalIncludeDirectories>..\..\..\include\genn\genn;..\..\..\include\genn\third_party;..\..\..\include\genn\third_party\libffi</AdditionalIncludeDirectories>
173-
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;NOMINMAX;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174-
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;NOMINMAX;BUILDING_GENN_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
173+
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;NOMINMAX;FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
174+
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">WIN32_LEAN_AND_MEAN;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;NOMINMAX;BUILDING_GENN_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175175
<DisableSpecificWarnings Condition=" $(Configuration.Contains('DLL')) ">4251</DisableSpecificWarnings>
176176
<LanguageStandard>stdcpp17</LanguageStandard>
177177
<MultiProcessorCompilation>true</MultiProcessorCompilation>

src/genn/third_party/libffi/libffi.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@
7676
<IntrinsicFunctions>true</IntrinsicFunctions>
7777
<SDLCheck>true</SDLCheck>
7878
<AdditionalIncludeDirectories>..\..\..\..\include\genn\third_party\libffi;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
79-
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">FFI_BUILDING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
80-
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">FFI_BUILDING_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
79+
<PreprocessorDefinitions Condition=" !$(Configuration.Contains('DLL')) ">FFI_BUILDING;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
80+
<PreprocessorDefinitions Condition=" $(Configuration.Contains('DLL')) ">FFI_BUILDING_DLL;_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
8181
<LanguageStandard_C>stdc11</LanguageStandard_C>
8282
<MultiProcessorCompilation>true</MultiProcessorCompilation>
8383
</ClCompile>

0 commit comments

Comments
 (0)